I've never changed provider myself but I think the main reasons for someone cancelling are the following:
1. Bad Technical Service (sites offline, slow and unresponsive, old and outdated technology)
2. Bad Customer Service (long response times for tickets and or incompetent support)
3. Price (You might have found a cheaper deal, many customers stay with a provider for many years. In that time better deals are to be had)
4. Company sold to EIG :big_boss:
For me, I changed around 10 times over 12 years, I used web hosting services from different web hosting companies.
What made me change...?? huh :think:
The hosting providers didn't keep their service quality as the beginning time when I bought their services.
After months or years, the quality of service decreased time by time and it's reason why I should find a new web hosting for better services.
Hosting providers mostly have the same specs or at least run with the same range of hardware. What could make some one leave their current host would be over selling (No host should be over selling... there is simply no need for it specially with shared hosting), bad support (very important when choosing a hosting provider).
@fwh mentioned correctly about the price but I tend to see is that with larger websites/apps the price becomes less of a concern and reliability + the points mentioned above become much more important.