Shareware also has several problems. To succeed at shareware, you need to write a program good enough for people to pay their real, hard-earned money for it. Unfortunately, you won't know if people will pay for it until you release it, at which point you've spent hundreds of hours of your valuable time. Like all businesses, there is risk, and this risk will fall upon you. Lack of respect.
People often consider shareware to be lesser software.
This reputation is sometimes justified. There's no shortage of trivial, buggy shareware. Of course, there's plenty of trivial, buggy shrinkwrapped software too. No support network. Running your own company has its drawbacks too.