McClellan may have built a great army. But McClellan didn't know how to use it. Are you familiar with the Battle of Antietam? Lee was a sitting duck. Mcclellan could have overrun the confederates and ended the war then. What did he do? Nothing. He pulled back. The confederacy lasted for three more years and costed the Union Army tens of thousands of more lives. This is probably the most costly mistake a US general has ever made and one of the worst blunders in military history.
He was overly cautious and overly meticulous. Waiting for all the right provisions and a moment that would never come. McClellan would be much better off pushing a pencil in Washington like many of these Generals running their mouths now (i.e. Zinni, Clark). It is men like Grant, Sherman, Jackson, Lee, MacArthur, Patton, Schwartzkoff, Franks and LeMay that win wars.
If you wait untill everything is perfect before engaging an enemy devoted to killing you, you will soon find yourself in a grave.
McClellan was also a Democrat, which explained his caution. Lincoln won the war because by 1864, the officer corps was Republican and so were most of the volunteers.