Template system is not so hard just a matter of getting hands on and to know how it works. If you momorize qa-theme-base.php and once you start to recognize functions and elements you will find it is very easy to works on.
But if you are comparing with WordPress or other CMS than woudl say those CMSs have different concept than Q2A. If you are talking about HTML than I agree in some part but not all that inline HTML sometime makes theming difficult. But agian Q2A doesn't have many elements to align and desing so if you are good with CSS and know at least qa-theme-base.php than I believe you can create theme with most types of layout.
But if you never tried any document and directly start to comparing with WordPress or other CMS you belong to than definatly it is going to give you pain.
Best wayt to star with them is going through documents http://www.question2answer.org/themes.php and check other themes.. You dont have to buy free themes still have great customized layout..
Few of them Snow, Classic, Pixel n Grain - Dark, Pixel n Grain - Light
In most cases you can customize theme layout by refering qa-theme-base.php and refer above document. PHP knowledge will helps you a lot.
Whatever element you want to customize it should go into your theme.php file withing this class
class qa_html_theme extends qa_html_theme_base
// this fuction you can find in qa-theme-base.php
now to call base function elements you must have to
load by qa_html_theme_base::function() -> here is head_css() function
So if you want to add your element before default function's elements
loads than place qa_html_theme_base::function() after your code/function
if you want to add your element after default function's elements
loads than place qa_html_theme_base::function() before your code/function
$this->output('This text will loads before other css loads');
$this->output('This text will loads after all above css and text loads');
I hope this will helps you to understand and to rid off your frustration :P