The simple answer to this would be to offer a good service that adds enough value at a reasonable price to keep them hooked. The core service and the pricing will play a critical role.
Of course the key aspect would be the User Experience. It is one thing to have a good service but another to “serve” it well enough. Usability, clean design and the general “feeling” the user gets after using the service must be taken care off with proper User Experience design.
For web based services, user convenience is also very important. Make sure you provide mobile access. Make sure the user can subscribe for RSS feeds into Outlook (or whichever reader he/she uses). Make sure user can opt in for newsletter or periodical alerts via email. In short make sure your service reaches the user at his/her convenience.
Support. Quick, accurate, helpful support always adds that little extra that make users feel welcome. It also ensures that users can actually use your service effectively. Your clients are paying their hard earned money, they deserve proper support. The importance of proper support can never be stressed enough, especially if the product is technical keeping the average user in mind.
I think I’ve covered some of the general points that apply to all. Of course this is not an exhaustive list and there’s always scope for doing more.
