I would place the US Navy as the number one advantage, with the manufacturing capability as second and the population advantage as third.
The existence of a Navy meant the Union could blockade the ports of the Confederacy. it took a while to effect this blockade to the point it was a stranglehold but it was key to the defeat of the Confederacy, just as Winfield Scott predicted it would be in his Anaconda plan.
The industrial capacity of the North and the advantage in railroad mileage allowed the North to take advantage of its industrial advantage.
Population was critical, the Confederacy had 9 million citizens, but 3,500,000 of these were slaves, and 110,000 involved in industrial production. Union had 22 million people with 1.3 million involved in industrial production.
The U.S. had some military technological advantages, although gatling guns were not used sufficiently to make a difference, breach loading repeating rifles made a difference in a number of battles such as Gettysburg, and the US had an advantage in rifled muskets over smooth bores. There were more telegraph capabilities in the Union than Confederacy. The confederacy did launch manage to use submarines, but they had limited effect, and while the Confederacy had the first ironclad, it was quickly overwhelmed on that score by the Union, and the recapture of the Norfolk naval yards by the Union pretty much ended the Confederacy's efforts in that area.
Finally the Union had a stronger conception of a nation, the Confederacy less so, which meant it was forced to try and defend all of its sprawling territory rather than trying to prioritize, stretching its already thin manpower resources even thinner.
The confederacy prided itself on having better battle elan, and espirit de corps, but if you actually look at the battle spirit of Union forces, you will see that they rivalled that of their southern adversaries.