While there were many factors that influenced the American Revolution, I think two in particular stand out as important in securing victory for the colonists despite their large economic and military disadvantage:
1. Home-field advantage
2. Support from France
(1) It may seem obvious, but it's quite important that the colonists were defending their own home turf, while the British were forced to cross the Atlantic Ocean. While the Americans had local sources of food, ammunition, and equipment, the British had to maintain supply lines thousands of miles long. While the Americans knew the terrain and could execute guerilla warfare, the British were on unfamiliar ground and trained only in conventional military tactics.
(2) Yet even this would not have been enough without the support of France. In 1778, France and the colonies signed the Treaty of Alliance and the Treaty of Amity and Commerce, uniting their interests in both military and economic terms. Benjamin Franklin was particularly important in securing the alliance with France. The colonies still had quite limited production capacity, so they were unable to supply sufficient amounts of weapons, ammunition, and even uniforms by themselves---the French made up the gap. American naval forces were nowhere near as powerful as the British Navy; France's navy was also not quite as powerful, but it was at least able to hold its own. French naval forces were vital in undermining Britain's supply lines across the Atlantic.