I work as a programmer in the retail industry, and in previous employment have dealt with ERP integration and extending legacy systems. I can tell you with absolute confidence that certain industries do need completely custom software to work properly - grocery stores, bookstores, and clothing stores all have different needs, different workflows, and different requirements. A cash register is a cash register, yes, but everything from dealing with expiration tracking and sales by weight to street dates to clothing sizes to custom orders to EDI interfaces are handled by custom software.
We primarily work with the music industry, and I have to deal with EDI from 4 different POS / Inventory / bordering on full ERP application vendors (some of which have been heavily customized for specific clients) and 2 different distributors, and will be spinning up 3 more distributors in the next year. Our e-commerce system is off-the-shelf for our industry (we can spin up a new customer who has no need for custom EDI integration in less than a day), and we have rescued a number of smaller operations who tried to develop their own system, or adapt various open-source shopping cart applications.
Our software would be of no use whatsoever to the manufacturers and medical, real estate, and legal offices I have dealt with in previous jobs. A completely different regulatory environment, different expectations, and different reporting requirements make any one-size-fits-all useless. That's a perilously bad attitude to take - some things, like payroll and HR, are relatively common across industries, but not understanding how business workflows differ from company to company shows a lack of professionalism. You think UPS uses an off-the-shelf software package? Or Greyhound? I can speak to both of them - they both developed in-house, because there was no software that covered their needs.
My business programming teacher back in high school put it this way: You will be working with obsolete technology, writing boring code to make distinctions between states that you really don't care about or even understand all that well, and will be ignored unless you make a mistake. Your job is to disappear into the background and make the business run smoothly. If your ego can't deal with that, leave this class now, because you will not make it in programming.