Reserved for people who talk at the movies.
Reserved for people who talk at the movies.
Problems usually come from trying to make applications that aren't well suited to the Salesforce platform work on it natively - it's great for CRUD apps with workflows, a custom visualforce page here or there and some more complicated logic implemented in Apex sprinkled in - but if you are resorting to Apex to do the majority of your work you are likely using the wrong tool for the job.
On the second level is if you're building an app that needs to talk bidirectionally to salesforce on a per customer (app install) basis. Each salesforce site has their own WSDL URLs. That makes sense if all you're doing is building something out for your own Salesforce site.
But if you're building something installable over their marketplace .... it's almost impossible to have a seamless user experience, from the customer's point of view.