When to use a tpl.php file instead of a .css file? This is my first question on Drupal answers, so be kind to me :)

I'm fairly new to Drupal, and indeed web developing in general.  I have been working on my first site for a few months now, learning as I go.  

In the past month, I have figured out how to make my own sub-theme of the one I was using.  I have been using the sub-theme to adjust the "little niggles" that I have with page formatting directly.  So far, I have been doing this by adding little snippets of css to a .css file in the sub-theme - and trying to keep this file as DRY as possible.  

This has been working well for me, but when reading around, all I see is discussion of modifying/using .tpl.php files, which is making me wonder if I'm missing something and/or setting myself up for major problems as this this .css file grows?

TL:DR What are the problems and/or disadvantages of using a single .css file to make styling adjustments on my drupal site?
If your real question is more along the lines of:


  Should I make the CSS conform to the markup, or make the markup conform to the CSS?


Then that's just a judgment call, there's no right or wrong answer. Go with what you feel comfortable doing. Some people love the plethora of classes Drupal adds by default, some people hate it. Some people prefer the Bootstrap approach (class, class, class), some people prefer the Susy approach (as few classes as possible, ostensibly). Neither is right or wrong, just different.

Read on for answers to the specific posed questions...


  When to use a tpl.php file instead of a .css file?


The literal answer to that is simply "never".

A CSS file and a template file are for different things, and contain different things. You wouldn't put markup in a CSS file, and you wouldn't put CSS in a template file (except perhaps in rare circumstances like if you were inlining the above-the-fold content or something).


  What are the problems and/or disadvantages of using a single .css file to make styling adjustments on my drupal site?


There are no problems or disadvantages per se. It's arguably better to split your CSS into multiple files, simply for modularity's sake, but those are all going to be aggregated back into one when the site goes into production mode anyway (assuming the CSS you're talking about is "every page" CSS; you haven't mentioned otherwise).

Basically go with what feels comfortable, by your organisation's standards, or whatever general advice you find and like about organising CSS files. Drupal doesn't mind how you do it.