Like I said, you have to try REALLY hard to get yourself into such as situation, by explicitly NOT writing webpages to standard HTML5/CSS3. It's probably the result of poorly trained developers copy/pasting in tons of blobs of ancient javascript, or activeX controls that aren't going to work on newer versions of IE, or using some "toolkit" that spits out your HTML/CSS/JS for you instead of writing streamlined code yourself. Who knows. Like I said though, if you write standard HTML5/CSS3, you will have literally no trouble on IE10+ and Firefox, Chrome, Safari, etc. I can pretty much guarantee it.
IE9 will generally also gracefully fall back, as it supports some HTML5, it's just missing lots of features you might want to use in CSS such as gradients, transitions, transformations, text-shadow, and then some basic HTML things like the placeholder attribute for form fields. With IE9 having support for CSS rgba, opacity, box-shadow, nth-child, calc, and some other important things like Javascript's addEventListener and JSON.parse, you can also pretty easily target IE9+ if you know which handful of neat CSS things to avoid.
Targeting IE8 and below requires all kinds of IE-specific code like attachEvent instead of addEventListener, and it's generally not worth targeting IE8 without some shim like JQuery. And for this reason, I've pretty much stopped using JQuery (as it's now mostly superfluous), and stopped targeting IE8 completely. Sorry Windows XP users, but you're going to need to use a 3rd party browser of some sort if you want to stay on the web.