If you're planning on doing all your own maintenance you're probably best going for Fiat Multiecuscan as a download onto a device (there's a choice of basic free version or all-singing all-dancing paid versions) and buying the ELM cables to plug said device into the car for £15 or so off ebay. It's the only way to reset the service indicator for example, something I'll have to do shortly so will have to take the plunge myself. There was a thread on here a couple of weeks ago with a link to the cables and MES, I'll have a look later and post it here if I can find it again.
If all you want is to read fault codes and you're going to use a specialist for servicing etc. they should have MES already so a generic reader ought to be fine.
I have an Ancel something-or-other code reader which cost around £30 off Amazon and will read and clear engine fault codes but that's all it will do. Make sure it's plugged in properly or it will send the dashboard absolutely mental and probably give you heart failure!
If you start crying during a flood you're only adding to the problem