Old English lama "crippled, lame; paralytic, weak," from Proto-Germanic *lama- "weak-limbed" (source also of Old Norse lami "lame, maimed," Dutch and Old Frisian lam, German lahm "lame"), literally "broken," from PIE root *lem- "to break; broken," with derivatives meaning "crippled" (source also of Old Church Slavonic lomiti "to break," Lithuanian luomas "lame").
In Middle English especially "crippled in the feet," but also "crippled in the hands; disabled by disease; maimed." Figurative sense of "imperfect" is from late 14c. Sense of "socially awkward" is attested from 1942. Noun meaning "crippled persons collectively" is in late Old English. To come by the lame post (17c.-18c.) was an old colloquialism in reference to tardy mails or news out-of-date.