Americans had the advantage of fighting on their own territory. They had solid knowledge of the land's geography and people where the British didn't.
Colonists were passionate about their cause. They would do anything to win their rights. The British had no real passion towards the Revolution and fought only half-halfheartedly for the King.
Colonists were backed by the French, who also wanted a win against the British after the French and Indian War. The French supplied ships, manpower, and gunpowder that Colonists desperately needed.
Weakness: Food & Weapons Shortage
Colonists were seriously outnumbered by the massive British Army. They struggled with breaking up lines of organized British soldiers, made even worse with the British hiring Hessians and other mercenaries.
The British Army was organized, well-trained, and extremely experienced. Colonists, on the other hand, had little to no experience in war, and were easily scared away by the skill of the British.
The Continental Army was desperate when it came to supplies. Despite having very few men, there was almost never enough food to feed them all. Guns were extremely scarce, and gunpowder -- even with the French's help -- was even harder to come by.