if you only want to read and clear fault codes on obdII/eobd compatible cars then a £20 reader is all i use. its quick and easy and fits in your pocket.
if you want to have a laptop based system with the ability to display live data then you need to download illegal cracked versions of the software and get a USB - OBDII cable (£5-10). this option can work out cheaper than buying a simple £20 reader so if you dont care about been forced to use your laptop every time then this is a good option. there is loads of eobd software to choose from, take your pick.
if you want to do anything on pre-OBD cars then you need different software. with a serial to OBD lead and a few lenghts of wire (to connect lead to car's nonOBDd connector and battery) and uniscan on your laptop you cover 90% of pre-OBDII vehicles for a total cost of the lead (£10).