What do the terms attorney at law, lawyer and esquire mean and how do they differ from each other?

Essentially, attorney at law and lawyer are interchangeable terms. The former is more technical and professional whereas the latter tends to be more generally used in common parlance, i.e., everyday usage.

Esquire is typically placed at the end of an individual's name, usually as Esq. or ESQ. (I'm sure most everyone has seen this on their lawyer's business card.) This term is derived from our days as a colony of Great Britain more than two centuries ago and has stuck. More importantly, however, the term in contemporary times signifies that the individual is licensed to practice law in the state(s) in which he/she has passed the bar exam and been approved by the character committee of that state(s). By contrast, an individual could have attended and completed law school studies and thus obtained a Juris Doctor (J.D.) degree and yet not be licensed to practice law because they either failed or chose not to take the bar exam for any state. Consequently, someone can be a J.D. but not legally permitted to practice law, not refer to themselves as esquire, attorney at law or a lawyer.