The real teat is whether or not you're injecting markup to accomplish your styling tasks. If your page (and I'll assume web page here, as opposed to an application that happens to live in the browser) still makes a certain basic sense with CSS and image loading disabled, there's a pretty good chance that you're more-or-less headed in the right direction. That, of course, means that your headings still have the hierarchy that their visuals with CSS turned on imply, that emphasis is still there, that things like acronyms and definitions still work, navigation still makes sense (even if it's kinda ugly, people should still be able to find and use it), tables are still tables -- and they're the only things that look like tables -- and so forth. If you need CSS or JavaScript, or even a special font, to make your page make sense, you're doing it wrong. If you can't skin your page -- change it around utterly -- without touching the markup, you're doing it wrong. You can add functionality. You can override defaults. But your page should work for your users pretty much regardless.
Of course, when you're talking about apps -- real freakin' applications, not just a web page that has a form with an AJAX submit-and-update -- then the rules are a bit different. If you can find a way to make a rockin' game that works with static image-free HTML pages without JS or CSS, my hat is off to you, along with any hats I may own in the future.