Delivering a software project is often easier than delivering a software product. A project can be made to run on your own server, or at a customer site. You still have a chance to tweak at installation time. A product is shipped and when it is out of your hands it has to work for somebody else. No chance to cheat here.