The Bluetooth ones work well. I use Torque on my android. It reads and clears codes, data logs, and you can monitor some data while driving with digital gauges on your phone. But they won't do ABS, stability control, airbags, etc.
If all you need is an engine code reader, get Torque or...