The easy questions first: no, I don't think meta descriptions have anything to do with it. Google just crawls in spikes, especially if it detects a higher rate of change than usual. It's generally nothing to be concerned about.
As for thin pages, I think it's fine that you make the distinction between deals and codes. As a user, it just feels like "codes" are more valuable. It's a good idea. You have pages for each large brand, which is hugely important. Categories are also fine, as long as you don't multiply them endlessly.
I'm mostly concerned with pages like this:
http://www.happier.co.uk/deals/marks-and-spencer/3-pack-cotton-pyjamas-10-ms
I'd handle all of these as dropdowns like you seem to be doing on the home page, and make it like these pages never existed. I don't think this will hurt you much, either. I doubt anyone Googles, "deals on 3 packs of cotton pyjamas," and even if they do Google will pull up the text on brand pages.
As for the comments on these deals, see how Facebook does them. Load the first 3 most recent, then have an option for "show all comments."
I would personally put all NSFW content, or anything close to it, behind an authorization wall, then store the authorization in a cookie. This might hurt your rankings for these types of deals, but I feel like it would be well worth it to avoid being classified as someone dealing in adult content. It's unlikely to happen, but it's totally not worth the risk.
Again, I think your site will be fine if you keep at it, even in it's current shape. You know your industry better than I do, but from an SEO perspective I'd make these changes. Think about them and let me know if you see a flaw in them.