My main problem with clients has always been 1) They don't really know what they want, beyond "a website", and 2) The reading comprehension of pretty much everyone I interact with is surprisingly low. I've mostly dealt with small-business owners, whose personalities seem to veer towards the eccentric.
With my current client, I'll send out emails requesting clarification for certain features that need to be implemented on the site. If I'm lucky, I'll get an email back with at least one of the issues having been addressed. There's been emails where the response was in no way relevant. At one point I even got a photo of someone's backyard sent to me as a response.
I've learned to only send him a single line of text if it requires a response, to increase my chances of getting something I can act on.
I really like making web sites, and programming in general... It's just the frustration of poor communication that makes the job so frustrating. I think if I were more of a salesman/people-person, I would probably be better about figuring out what they really need, and offering solutions to them... rather then just getting upset that they don't what they want.