Cheap ones work on minor applications and limited speed reading.
Depends what you use it for. In some applications, you need to read a LOT of CAN messages and some of these have great performance advantages. I use the one below (LX OBDLink ~$50) for my Tesla and the software to give me a lot of data about the battery, motors, regen performance, temp readings around several inside ports, temp on various parts of the powertrain system.
Obviously, it works on simple applications like the Volt too.
https://sites.google.com/view/scanmytesla/reccommended-adapters