Some notes on McClellan:
There really is no way to defend his reputation, and I expect his “rehabilitation” is one of those periodic idiocies which younger historians use to advance their own careers.
Here is the lowdown: McClellan seemed to be da Bomb. He was the scion of the elite, a worthy opponent to Lee in status. He had experienced success all his life at everything he tried. He was a skilled commander (keep reading…), who distinuigshed himself as a junior officer, with experience managing huge enterprises (he had been a railroad executive). He was connected politically, in a climate of fierce and often confused political storms. He dad everything you could want, period. And early in the war, hard work from more energetic subordinates (notably WIlliam S. Rosecranz, who was an erratically brillian/awful general who suffered a breakdown at Chickamauga) gave him an undeserved halo.
But he had no guts. He refused to risk anything to succeed. Some try to blame Pinketo, but this is impraobable. Pinkerton’s agents sent him reasonably accurate reports that we know of; McClellan seems to have simply used them to confirm his own fears. And even had Pinkerton fouled up, when presented with the actual facts staring him in the face McClellan stuck to his fanciful figures. I believe at one point he claimed Lee had over 500,000 soldiers - but Lee had less than 150,000.
No other commander, including some who were not known for military knowledge or good sense, believed this. McClellan did because he wanted to, and he thrice left opportunities to destroy Johnson and later Lee and take Richmond. That early in the war, Richmond was imbued with a little less import than it later came to have as a symbol of the South, but its loss would probably have meant the loss of the entire east. The Rebellion would have certainly withered and died without it, and without the population, wealth, and industry of the east. Later, Pope had Lee in the perfect position to strike, but lacked the numbers, and McClellan essentially refused to respond. In fact, McClellan very nearly committed treason, refusing a legitimate order from a superior without cause, so he could sulk in his tent.
Pope had his own issues, and offended his troops and officers needlessly. He was no fool on the battlefield, however, and his removal was more a matter of the demands of the moment than a ringing condemnation of his skill.
Ambrose Burnside was another incompetent one, but to his credit he knew it and did not want command. It was forced upon him for want of any alternative.
Hooker was another failure, because he lacked the guts for high-level command. Unlike McClellan, he was more willing to take a subordinate role (and his reputation as Fightin’ Joe was well-earned). He served grant well in Tennessee later, although the two men’s differences eventually led to his removal.