I use a static site generator (Hakyll) and deploy directly to S3. It's a pretty awesome system.
I also used to use CloudFront as a CDN. I gave up because invalidating the cache was a bit tedious. I should start using it again for the assets that usually don't change like fonts. It's really not difficult; it was just inconvenient because I was using it for things like text that I updated constantly.
I've considered hosting my assets on a separate domain (e.g. assets.mydomain.com) because, in theory, browsers will better be able to parallelize the downloads. It sounds like this same approach would make your CloudFront setup a bit easier to manage.
I use Jekyll and deploy to S3 too - combining it with Cloudflare provides an easier partial-CDN and some tools like 301 redirects that S3 doesn't provide out of the box:
Linode! But that's because I have a lot of other services running on my linode box. If I was hosting the site only I'd probably use github pages or heroku.
I struggled to put up a static generator over there I failed, I tried everything I could. Of course they were helpful but asking them to enable this, enable that every time is plain painful.
I also tried to setup ownCloud and didn't succed again. Finally I moved to vps and I set them up there with some difficulty and then I moved my static files back to Dropbox and left OwnCloud. It was too much trouble.
WebFaction ought to give options to do one click install of static generators and other packages like OwnCloud.
bluehost.com - I don't remember why I chose them originally, but I have had my domains and hosting there for a while, and have been happy. I put a few sites on their lowest plan and they have "unlimited" space and bandwidth.
I find Github to be the best option out there (the only thing I'd like to see is a method to leverage caching). Plus it allows you to make the website "open source" (which is the case for most of what I put up).
They already provide my e-mail hosting (significantly better spam management than GMail, where about 20-30 were getting through per day) and static web hosting is included.
I tried Dreamhost for a year (for my non serious sites and just personal testing purposes) because people raved about it on Reddit, but it was disappointing. I tracked all my sites using uptimerobot.com and Dreamhost has less than 99.9% up time consistently. Just signed up for asmallorange.com...will see how it goes.
I initially deployed my website on s3 but latency was noticeable. google's cloud storage loads the site instantaneously. There are more tools available to upload to S3 but google cloud storage's web admin now provides a way to upload files now. In order to host a website on google storage, you need to jump through a couple of hoops (proving to google that you own the domain).
My websites are static, single page apps so I leave them on "set it and forget it" mode.
I use a static site generator (docpad) and deploy to github pages. I've had bad experiences with both, so I'm looking for alternatives. I have my own servers, but somehow I assumed for a homepage gh-pages would be best. I was wrong.
I've been using recently launched http://fjords.cc . Fjords paired with DNSimple.com has been a dream setup compared to what I previously used (Amazon S3 with Godaddy for domains).
(Since HN has been in golang hype-mode recently:) a 20-line Go web server that I probably wrote in about 5 minutes but I don't remember because it's still chugging away.
I tried them for a year because of the great reviews on Reddit, but I was quite unhappy about it. Less than 99.9% up time monitored by uptimerobot.com. Some of my sites have less than 99.5% up time in fact. I'm monitoring some of my clients' sites on Siteground and they have better up time over there (>99.9%).