I initially signed up for the cheapest package they had, and had no problems to start with.
Upgrading My Web Hosting Package
The first problem was when I decided to upgrade my hosting package. I had a number of sites still with another web host, which were fairly expensive and, more importantly, didn't have cPanel hosting. I made the decision to upgrade my HostGator package, and move the sites I wanted to keep to it, and park the rest. Overall, this would cost less each month.
The upgrade seemed to go fine. A few months afterwards, I was checking my credit card bill, and discovered that two charges were being made to HostGator. Yes, I should have checked this earlier. I contacted them and found that my "upgrade" was actually an entirely new package, and I was actually paying for two. Although mentioned in the upgrade ticket, it wasn't made that clear that I was the one who had to cancel the payment for a product that no longer existed. HostGator were happy to keep taking the money, and no offer of refund was made after I discovered this.
Although this probably was legal, I find it more than a bit unethical.
I continued with the account after cancelling the original payment.
A New Problem
At the beginning of 2012 I had another problem. One of the hosted domains was using too many resources, and MySQL had been disabled for it. Fair enough, it's shared hosting, and you are limited to the resources.
What was less than satisfactory was that every other domain had MySQL disabled also, even though there weren't any problems with them.
I submitted a support ticket for one of the domains and, after 19 hours of back and forth responses regarding the issue - it was that long as they took hours each time to reply - I was told that the matter with domain 2 (the domain I opened the ticket regarding) was not relevant and a different problem. Which was clearly untrue, it was relevant to the problems with domain 1 as it had also been hit with the blanket disable.
I then went to live chat and the representative agreed that yes, it was related to the MySQL shut down on domain one, but because it was a separate domain without any problems, MySQL shouldn't have been disabled. MySQL was restored, and domain 2 was up and running again.
The Same Problem Occurs Again
Then, a couple of weeks later, the same thing happened again. Domain 1 was still down, as I hadn't managed to fix the resource problem, but domain 2 again had MySQL disabled. I contacted live support again, and it was agreed, again, that this was a mistake, and MySQL was, again, restored. This took longer than the first time, and I was assured it wouldn't happen again.
Another couple of weeks. Still waiting to hear back from the author of the problem script on domain 1, and domain 2 has MySQL shut down for a third time. Contacted live support again, and this time it took even longer, and at the end, MySQL still wasn't restored and I had been referred back to their excruciatingly slow ticket system. I was told that the problem was considered high priority though.
Just short of nine hours later - not quite my definition of high priority - I got an update on the ticket. I was told that the entire situation on both relevant tickets had been studied (at least some time was taken, although the amount it actually took seems excessive) and apparently there was a bug with their hosting system. Every time domain 1 hit a problem, the automatic script was disabling everything on the account, not just domain 1. They were apparently going to get their developers to look into it.
I was also informed that my two WordPress blogs on the package didn't have caching, and could cause excessive load. Now, this is on a $24.95/month package, so not exactly their bottom of the range, yet it might have problems with two blogs, one of which has an Alexa ranging in the four hundred thousands, the other over 25 million. Not exactly high traffic sites here. The caching isn't a problem, but really? The package might have problems coping with that? I hate to think what a high traffic site might do.
My overall experience with HostGator is bad, so I personally cannot recommend them as a host. Others may have better experiences, but I can only base it on my own, especially as the same problem keeps cropping up again.