How do I make it super customisable?

What you’re looking for is the theme customizer. This allows you to attach settings to any element of your site you want. Just take a look at one of the WordPress standard themes to see what this looks like. You’ll see that you can change colors, but also upload a new background image. Just follow the above link to learn how to implement the customizer in your own theme.

The customizer is typically used to adapt visual elements of the site. What it eventually does is insert css statements in the head of the page, overruling the main style file.

If you want to toggle the visibility of comments, you’re not talking about inserting extra css, but change the template as it is assembled. A checkbox would typically be included in an options page on the backend, although you could do this in the customizer as well.

Summing up, yours is a very common desire for theme developers. It’s very well feasible, but you will probably need several days to get acquainted with it, providing you know your PHP.

(we’re not into recommendations here, but if you google for ‘wordpress theme customizer tutorial’, you’ll have plenty of choice)