Vector costs the most
Next up is probably IAXXT
Then you get to the more generic ELM327 and Co
For buses and trucks, you will want something that supports 29 bit can identifiers. if very new buses and trucks then CanFD (which costs much more on average)
And for small cars, 11 bit ID's are the norm, (OBD = on board diagnostics)
Its rare that 11 bit and 29 bit get mixed on the same bus, generally only very custom agricultural gear pulls that crap.
Machinery is mostly going to be 29 bit, I have some example logs from some machinery if your interested (PM) however almost all of it is fairly undocumented unless you can find the "CAN Matrix" for a given supplier, J1939 (generally 29 bit can) has a 2014 version of the agreed upon general PGN's and SPN's floating out in the wild, (try searching J1939DA) otherwise the latest is not that expensive (For single user only generally)
For most of these devices there are free to use drivers so long as you have the devices and are not hard to inteface with e.g. python scripts. I've even gone as far as progromatically writing can scripts for a device as it logs, but that was some time ago,
As to the ethernet comment, the really big gear uses it, and its non standard pinout, and generally end to end VPN's for fun, they really don't want third party hardware anywhere but on there sandboxed bodybuilder connectors