Could be lots of things:
- Replace your spark plugs - be sure to get the exact ones specified in your owner's manual, and gap them correctly.
- Replace your air filter and your fuel filter.
- Make sure your timing is set correctly.
- Make sure all of your spark plug wires are securely plugged in on both ends.
- Put some gas treatment in your gas tank next time you fill the tank. A friend of mine who is a heavy equipment mechanic recommends Seafoam:
Seafoam got my lawn mower running like new.