I use attacks of different types, except when sometimes two attacks have such varying effects that I let a Pokemon know them even thought they are of the same type. Example is a fire attack that deals some damage and lowers a stat, whilst the other is another fire attack, but one that inflicts lots of damage with no secondary effect.
I often want at least one effect technique, like a stat boost. For a Pokemon to use this, I must find ways to stall the opponent, like putting him to sleep. I've also tried DOT (damage over time) a bit, like toxic combined with leech seeds (try this in RGBY and see what happens!). Paralysis/poison/burn combined with confusion and leeching while your Pokemon protects itself is another strategy I could try. Although it's a bit annoying for your opponent and leads to slow battles, it's an alternative to trying to inflict as much damage as possible in a short time.
I'm happy they introduced infestation, the bug attack. It has 100% acc compared to fire spin and other similar attacks. Fire spin has low acc since gen 1 when it could trap the opponent, so it would be over-powered if it had 100%, meaning the opponent would have no chance to act as long as its speed was lower than the attacker. Fire spin was changed because it was seen as still too powerful, but the acc is still low.