In a bunch of the posts above, I saw references to using DataQ devices. Those were my first choice for various projects back in the 1990's, but once the world went to USB instead of serial, I switched to MCCDaq products. I have a few 1208 and 1608's and really like them. In fact, I have a commercial testing machine that I got earlier this year and when going through training on it, I saw a few hints and asked the guy if it had a 1608 in it. He said yeah, that's what we. . . wait, how'd you know that? We talked about a few of the projects I'd done over the years with it and it actually made the training go much better, as he knew he could say anything and I would likely understand it vs. being totally green for control system/data acquisition projects. He also knew I was going to take the machine apart as soon as I got it to the shop and write down all of the components used so I could get spares myself if needed. He gave me the build BOM and said there are a few items we do custom, so you'll have to come back to us for those, but most of it is COTS.
Anyway, depending on the project, I think a 1208 or 1608 could be a great fit. If 12-bit data is good enough, save the cash for sure, as the 1608 isn't cheap. Note also that the 16 bit modules seem to need more aggressive signal conditioning, which isn't overly surprising, but just plan for it and solve the problem before it becomes a problem. The 1208 seems to be a bit more tolerant. Also, the analog and/or digital outputs are helpful for projects like these.
Just my opinions. I find them to be a reputable company and I find the function vs complexity of their USB products to be very approachable. I'm not a Raspberry Pi guy, so I can't speak for those, but they may be very good as well. Note that there are some limitations with their free software (or at least there used to be), so make sure the functionality you want is there or you might have to buy the expensive version and that is lame. . .
Sandy.