Bug is seen as a weak type because it is often a dual type with another one of it's weaknesses. Bug/Flying is 4x weak to Rock, Bug/Steel and Bug/Grass is 4x weak to Fire and Flying, Bug/Fighting is 4x weak to Flying, and Bug/Fire is 4x weak to Rock. But people forget that bug can be pretty solid defensively. A Bug/Poison like Scolipede will wall Fighting Type moves, (4x Resistance) and Bug/Steel, while being 4x weak to fire, has that as it's only weakness, and resists Bug, Dark, Dragon, Ghost, Grass, Ice, Normal, Psychic, Steel and is immune to poison. That means a pokémon like Forretress will last a long time on a Rain team, because it can take a hit from almost anything and survive.

Bug types also have fantastic offensive moves. Megahorn, Steamroller, Bug Buzz, Silver Wind, Signal Beam and U-Turn. These moves will kill Psychic and Dark types, which most are weak to Bug and lack a secondary type that resists it. as well as grass, though Grass/Poison dis more common and does take neutral damage from bug.

In short, bug is not useless. There is no type that is useless, some just have different uses than others.