My background is with Salesforce Sales Cloud and Service Cloud. The product has versions which come in the form of three yearly releases for summer, spring, and winter.
With the new releases, upgrading certain features is not optional, it just happens on a designated date and your application gets upgraded automatically. For the more interactive parts of the upgrades, there is sometimes a need for admin intervention. This requires some sort of back end configuration by a system administrator.
Salesforce's release notes are extremely comprehensive - sometimes too comprehensive as they can top 300 pages per release. Most people should be able to find what they need from the table of contents fairly easily. The organization of the document stays very regular year over year.
I would like to see Salesforce scale back on the new items, and try to fix more of the old broken items, bugs, and enhancement requests. Sometimes, like with the new community templates, there can be obvious bugs that slide by unnoticed and then the end user has to find them as if it were a beta release.
I started using Salesforce when they were on the winter 2011 release.
Premier support costs a lot of money and oftentimes they do not have better information than a good admin could find out on their own. It is great for someone new to Salesforce without an experienced admin to turn to for support.
Don't do it yourself unless you plan to become a Salesforce Admin. Do it right the first time, which does not mean pay the highest price.
Make sure if you are using a consulting company they are as trustworthy as possible, research who your consultant is, previous successes of the individual you work with and not just the company as a whole. Find them on LinkedIn and ask people about them. If you hire someone in-house do the same research. If you are exposing all your company data and the system architecture of the company moving forward to one person's design, it is critical to make sure you have the right person guiding it.
Ask them about why they like doing Salesforce, the values that are important to them and how they picture the beginning, middle, and end of the consulting/work relationship. This should give you some insight into what guiding principles they are likely to follow
ROI depends on how good the guy setting up your Salesforce is.
Do your best to negotiate the cost if you can. Salesforce is one of the most expensive solutions out there.
The ease of customization makes every Salesforce implementation like a strand of company DNA. This can be a top-tier solution for companies who utilize the product with best practices. On the other hand, some companies who have a weak IT department or just are not ready to integrate their business with Salesforce should hold back! This is because the needs of a very young business will undoubtedly change again and again, and when a company takes their Salesforce system along for that roller-coaster ride, the company growing pains leave scars on the system. This causes some people to resent Salesforce as a system. I'm not going to say a young company should not use Salesforce, only that it is critical to have the most experienced system admin you can afford if the business wants to use Salesforce from an early age.
The amount of time you believe it will take to get Salesforce operational for your company, triple that time and then multiply by two. Here's why, say, I think it will take three months to roll this out, with documentation, or finding resources it will take six months and with unexpected delays it will take nine. Now multiply by two again because you should spend nine months planning out who, how, where, when etc. If you want your system to do well you need to do the work to get there. Otherwise you will end up having to redo your entire Salesforce implementation.