Software is ultimately better, but most inexpensive hand helds will cover the three brands you mentioned.
Skill level should be a decider as well. A pro tech will want a pro software bundle and equipment. A DIY will not use half the functionality.
I use an Innova as a back up scanner on the job (and at home ) I would recommend them. They have at least 4 machines two are OBDII only. While two contain adapters for OBDI vehicles. I'm sure there are other brands that are good, but this is the one I use.
If you're running something Android-based, take a look at Torque. Works with ELM-327 Bluetooth OBD-II dongles and is pretty damned comprehensive. I've run it on both the XJ and Subaru with no issues.