The British and American armies had different strengths and weaknesses going into the Revolutionary War.
The British had a superior army. Numbers, training and supplies were all on the British side, including a superior navy which could be used to blockade American ports, threaten American cities or move troops between the colonies frequently. In addition to regular army troops, many loyal colonists joined the ranks of the British, as well as the majority of Native Americans. Some slaves even joined to fight with the British, who promised them freedom as soon as they won the war.
But the British had several weaknesses as well. British army commanders were skilled, but had no idea how to fight in the frontier. Squabbling between generals competed with one another rather than working together. They also severely underestimated the colonial will to fight, resulting in several escapes and key victories for the Americans during crucial times. The great distance between Britain and America meant orders and support took 3-5 weeks to arrive, leading to ineffective management of the war.
The Americans had several great military leaders, most notably George Washington, who skill as a commander and magnetic personality helped save the revolution time and time again. Support from other nations, most importantly France, helped the Americans secure their independence. The fact that they were fighting on familiar ground also helped because they knew the geography and were able to use it to their advantage. There was also a sense of patriotism that many Americans felt that paid troops did not feel. The fact that they were fighting for a cause helped keep many soldiers in the fight that would have otherwise quit.
However, a crippling lack of supplies and money nearly ended the war several times. The American army was always wanting for something, be it food, gunpowder, blankets or medical supplies. At the beginning of the war there was also a lack of training among many of the soldiers, though this was later rectified.