I've been doing this kinda stuf for about 11 months now. It was just after my first week that I found out html was not a static "one size fits all" kinda thing. I found this 'ere html 3.2 thing and though: "bummer man, it expands". So I finally learned all the tags for 3.2 and what they did. So a few weeks more after that, I find 4.0 and 4.01. So again I get learning that. Then I find this DTD thing. I simply assume that it is merely for stating which version of html you are using and that was that (in the sense of version number not frameset strict and transitional). I soon realise this is not the case and have my first encounter with the W3C when I go to find what it actually is for.
My first encounter with the W3C was a far from pleasant one too. Previously having next to no experience with computers I had no idea what most of their terminology meant.I'd start with one page I'm supposed to be reading, then have to go off to another page to find the meaning of some acronym they used whilst describing an aspect of what I was trying to learn about. Trouble is though that the page i'm going to to get an explanation of terminology on the first page also had terminology that needed explanation on another page. So on average I'd spend 80% of my time rumaging around the site looking for explanations of what the hell they were saying and 20% of my time actually getting close to learning something.
Then came the web standards. I found my pages didn't work in other browsers. I realised that the html I'd been learning from some sites was this "proprietary code". An absurd notion if ever there was one I though at the time (and most certainly still do), so once again off I go trying to learn what is good code and what is bad code (hello again W3C and the inevitable terminology wrestling championship that comes with it).
As you might imagine, after all that I got the distinct impression I was chasing ghosts. At every step there was always something more to learn. Every time you thought you'd got something right, you find you've only uncovered another problem that you have to learn more to fix.
I knew I still had CSS to go if I was to move away from tabular layouts, but loathed the thought of having to learn it because I got the distinct impression that as soon as I would start to get the swing of it, I'd have to learn yet another language to supplement it. The fact that it made my sites look pretty much the same on all browsers though spurred me on and gave me the drive I needed and thankfully I didn't need to learn another language to supplement CSS.
I'm on to php now (which I've been putting of fow quite some time now) and already having to look at bits apache and wondering what the hell I'm looking at.
As you've probably guessed by now it's that sense of the more you learn - the less you know that had the strongest potential to put me off. But I still jumped on CSS pretty much as soon as I found it just because of the cross browser thing and I had a feeling of motivation at the time.
CSS was by far the easiest to learn and for its simplicity has a massive impact. If anything it was the rest of the web development process that put me off learning CSS rather than CSS its self.