For us, the decision is usually tied to the purpose of the barcode. If it is manufacturing, we simply put the 3 or 9 barcode on the traveler and print from a laser printer on 8 1/2 x 11 paper. No special needs for printing.
If we are printing price tags to put on jewelry like a ring, then you need a barcode printer with specific paper (for example butterfly tags) and more durable ink.
These are examples of two extremes. Your application will probably be somewhere in between.
Scanforce (have had good reviews but no hands on experience) and Scanco (not a fan but that was before the change in ownership and leadership) come into play when you are ready to collect data from the barcodes you have printed. If you are just going to collect data at the point of transaction, use a wedge scanner attached to a PC. If you need mobile data collection such as in a warehouse, receiving area, etc., then a mobile unit becomes a necessity.
Hope that helps and not too long.