There are five main pots where you can make cash with your software product, namely sales, maintenance, modules (add-ons), customizations, and conversions.

If you run things the way many mid-level, not-quite-consumer-level software companies do, you'll only want to sell each software package to a consumer once. Your maintenance agreement, in these cases, should both provide something of obvious value to your consumer (support, free upgrades, etc) and can quickly become the bulk of your revenue. To maximize profit, once you've earned a customer, keep them. Don't plan on reselling your same package and let a customer return to the market as an unrestricted free agent. MS takes an slightly alternative tack with Office, as the app is both relatively easy to use for its power users, who won't need support, and works well past its next release (Word 98 on my iMac still does a reasonably good job, for example). Their strategy ends up being a hybrid support/resell. Anyhow...

Conversions are great places to hit up some cash. Find someone using a competing product and get them bought into yours. POOF, instance services sell as you arrange to take their custom data and slap it into your system.

[unfinished]