In 2008, I moved my blog to a new web host. After two months, I moved it back. I believe my primary motivation was a desire to use ImageMagick.
This time around, I looked at new hosts because I wanted to use a version of PHP that hadn’t reach end of support. PHP 5.2 was killed off with 5.2.16 in December 2010 (even if it did get updated to 5.2.17 a month later). 1&1 runs PHP 5.2.17 by default, but you can turn on 5.3 by adding a line to your .htaccess file.
I turned on PHP 5.3 for my blog, which runs on WordPress, and I got the “white screen of death.” So I created a new subdomain, activated PHP 5.3 on it, and did a clean WordPress install. Everything worked … until I tried to create a new post. And I hit a memory allocation error. I did some Googling and found that my experience with PHP 5.3 on 1&1 was not unique.
So I researched other hosts. Lifehacker has put Dreamhost at the top of its list on at least two occasions. I created a trial account and repeated my procedure: new subdomain, activate PHP 5.3, clean WordPress install. Write new post? No problem. Import entire content of existing blog (which also hit a memory error under PHP 5.3 on 1&1, and would be necessary in order to migrate my blog)? No problem again.
At that point it was a lock, but I also found that Dreamhost’s admin experience is faster: faster login, subdomains available in DNS sooner, MySQL databases available sooner.
I’m going to keep my domains with 1&1 for the forseeable future. I read on a Internet forum years ago that you should register domains with one provider and host your content on another. I can’t forsee any particular advantages to such a setup, but mostly I don’t want to move any more than I have to in case I, you know, move everything back two months later.