As far as my knowledge goes, the south possessed over much more capable commanders primarily from a military background. Examples are Lee, Johnston, Jackson, Longstreet, Hood, J.E.B. Stuart... Union commanders however, as far as I've read, primarily knew their origin in politics or business. Examples are: Burnside, Rosecrans, McClellan, Sherman... McDowell and Hooker being the exception here. Now the CSA also had a few commanders without an outspoken military background such as Forrest and Early, but the majority were career officers (correct me if I'm wrong, I may have mixed up some names).
Now as to the effectiveness of these commanders, the south clearly had the upperhand. A few of their commanders were of course not as capable, but this, I feel, was generally not the norm. In the north, Lincoln continuously relieved one commander after another (McDowell, McClellan, Burnside, Hooker and Rosecrans). This seemingly unending chain of change of command only changed after Grant came in as general commander of all union armies in 1864 (he had already proven himself at Shiloh). Under him, Sherman was also a very competent commander.
My question is: why did Lincoln continue to appoint politicians, industrialists or bankers? (Again, Hooker and McDowell being the exception). People like Longstreet, although not a politician before the war, were overall much better commanders being veterans from the American-Mexican war. Why didn't Lincoln see that a businessman or a politician were not always the best generals? Was this due to intense lobbying and pressure from outside? Or was there another reason?
Once again, please correct me if I misplaced a few of the names or made some other mistakes.
Thank you!
A large factor (though perhaps not the only factor) shaping why Lincoln appointed the generals that he did were political considerations. Many generals were appointed because, by doing so, Lincoln hoped to bolster political support for the war effort with a particular regional, ethnic, or partisan constituency. For example, Lincoln might appoint a German-American general (such as Franz Sigel) because doing so would improve recruitment amongst German immigrants. He was also careful to appoint some Democrats in order to show that the war wasn't just a Republican Party endeavour, but a cause for all Americans regardless of political affiliation.
That said, Lincoln and the Union leadership DID learn that businessmen and politicians did not make for great generals. These political appointments petered off quite significantly by 1862-1863. I speculate, however, that he didn't want to fire many of the ineffective generals that had already been appointed because doing so would offend their given constituency. Firing George McClellan, for example, was deeply unpopular with many soldiers and civilians alike - though ineffective, he was well-respected.
I also think it's significant to consider that part of the Union's struggles weren't always necessarily because its leadership was less competent than that of the South, but that it had a more difficult objective to achieve. I think, arguably, it was more difficult in mid-nineteenth century warfare to invade and secure control of a large territory than it is to fight a defensive war. Keep in mind that both of Robert E. Lee's major attempts to go on the offensive into the North were thwarted (at Antietam in 1862 and Gettysburg in 1863); going on the offensive was challenging, and it look several years (and a willingness to approach total war) to figure out how to do so effectively.
If you're interested in reading a bit further (or want to know what my sources are), James McPherson discusses some of this in a couple of his books. Battle Cry of Freedom: The Civil War Era is his classic work which discusses a lot of this, and This Mighty Scourge: Perspectives on the Civil War also has some information about military leadership and the transition to what he calls "hard war."