The Continental Army was in familiar territory which gave them the ability to ambush and out maneuver the British.
Lack of supplies
Since the British soldiers weren't passionate about the war, the longer it dragged on, the more likely they were to give up and put in less effort.
The Americans were fighting for their rights to life, liberty, and the pursuit of happiness. They were willing to give up anything and fight with their all.
Since the Continental Army was using a lot of weapons from the French they were almost always out classed and running out of ammo.
A majority of the Continental Army's soldiers were everyday farmers and merchants. Since they weren't an elite well trained force like the British they were often at disadvantage.
The colonies were not exactly poor, but they weren't the financial titan that the king was. This allowed them to provide their soldiers with the best possible equipment and hire as many soldiers as they needed.