be warned nearly all the obdII elm chip units on ebay and other well known sites are all fakes and will not communicate with the car you need to buy a proper unit from scantool.net its a much better unit and is garrentieed to function
Ebay is full of sh1t I would agree there, and I can't comment on the quality of scantool.net items.
However my ELM327 I have communicates fine with 99% of the cars I have worked on (OBD2 and 2001 onwards seems to give better results).
Its usually the software thats the pain in the arse to be honest - the hardware works fine. I have around 20 apps and I would say only a handful are actually worth using.
Its worth noting the advantage of using a laptop aswell is imense, the things you can do with the applications is amazing, as opposed to a hand held fault code reader.
I'd also note you really need to to know a bit about computers, I had to set up comm ports/serial ports and communication settings for each app, thats a challenge before you actually get to the diagnostics!