When I first started out, the out-of-the box Joomla templates weren't as clean, and that was good for a beginner.
I've got a head section that looks like this...
<head>
<jdoc:include type="head" />
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/system.css" type="text/css" />
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/general.css" type="text/css" />
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/layout.css?v=20140508" type="text/css" />
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/menus.css?v=20140508" type="text/css" />
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/modules.css" type="text/css" />
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/styles.css?v=20140508" type="text/css" />
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/print.css" type="text/css" media="print" />
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/peter.css?v=20140508-6" type="text/css" />
In particular, the stylesheets are not included in the "nice" way with the the addStyleSheet, and as a result, they stay where they are put, last! Any dynamically added stylesheets are inserted at the <jdoc:include type="head" />
point.
What may be happening in your template is that your stylesheets are being loaded first, then any dynamically added Joomla ones are added last. It all depends on where the addStyleSheet functions are called.
If you're confident that you have all you need in the template, and don't need additional dynamic bits added (e.g. for the frontend editor), or for any extensions you add, then you might get away with removing the <jdoc:include type="head" />
, at least for a beginner template.
Or... just add your stylesheets at a fixed point, outside the included head.
Once you step beyond a beginner, you'll probably want to include the head section. There are ways to manipulate the dynamic content, though not necessarily for a beginner. For example, for debugging, I have a stylesheet that I dynamically add using a custom extension, if I'm the logged in user.