In your text editor example, the author can add an SFTP feature, but once it's coded it's coded. There's no extra cost to ship out all software with that feature after it's coded, except perhaps some extra support costs. (I imagine those would be pretty minimal.) At that point, I only see two reasons to segment the market from the users' perspective:
1) To not confuse your less advanced users with more features. This is a pretty weak reason, IMO. 2) To make sure that the people who actually wanted the feature are the ones paying for it. After the cost of development is paid for, this reason goes away.
Beyond these reasons (unless I'm missing something, which is entirely possible), releasing different grades of software just hurts your users. It makes you more money, though, so maybe that's enough justification.