AD&D monsters were generally not constructed with any regard for their role in the game. In most cases, they were put together with a "this seems about right" attitude, and then this resulted in a particular XP value and DMs were expected to be able to figure out whether a particular monster was appropriate to use on their own.
3e added the CR mechanic, which was supposed to tell DMs what sort of monsters were appropriate for what levels and how many XP they were worth. But 3.0e monsters were often 2e monsters that just got converted straight over to 3e mechanics, with CR estimated after the fact, meaning that some had a CR that got artificially increased because of one or two particular abilities but the rest of the monster wouldn't come close to matching that CR. For example, the nymph is CR 6 because they cast spells as 7th level druids, but at the same time they have 10 hp and AC 11, meaning a stiff breeze would knock them over. When making 3.5e, they made some effort into both having the whole monster conform to the CR as well as culling some "useless" abilities (usually spell-like abilities). In 3.5e, the nymph got a boost to 27 hp and AC 17, while also changing the save-or-die from Unearthly Beauty into a stun.