The bug-type is like, broken.
Offensively, not even including the limited bug-type offensive moves, Bug attacks are only super effective against 3 types - Grass, Dark and Psychic (the psychic one is semi-useful) and is weak against SIX TYPES.
Defensively, it resists fighting, ground, and grass, which seems almost moronic to me. The fact that it resists ground is completely counteracted by the fact that most ground-types are either dual ground and rock or have a wide rock movepool and therefore can dominate any bug pokemon. On top of this, if it is a ground rock dualtype, a bug will hit for 0.5 damage using a bug-type move. As well as this, the fighting resistance is retarded, as when bug moves are used against fighting types they only hit 0.5.
And then there's the problem of the bulk amounts of bug-poison, poison-grass and grass-bug types that completely null the effects of bug-types advantage on grass pokemon.
In terms of butterfree, butterfree has quite mediocre stats, particularly for a 3rd stage evolution. And it's dual-type makes it get hit super effective to 4 types as well as a x4 super effective with rock types.
Sure, butterfree has a great movepool but the bug/flying dualtype has too many weaknesses, and not a wide enough range of resistances (it has 3, two of which are 1/4 damage, though).
(sorry about double post)
But I do use butterfree in my crystal game :P
It's movepool really does make it half decent, but its only a decent pokemon to start with really, because it levels up so fast it has a major advantage over stage 1 pokemon, but is overtaken later on due to its lower stats. The sleep powder/psychic combo is great though.