He overstretched his supply lines and kept moving his army forward despite it being ravaged by Typhus, utterly failing to comprehend the Russian strategy of trading land for time. By Borodino, his army was so depleted that a decisive victory was impossible, especially since he refused to commit the Imperial Guard at the critical moment.
I also don't give him a pass for Waterloo. That's like saying Lee didn't lose Gettysburg because he'd left the big decisions at the center of the line up to Longstreet.
Napolean was a great general, but, like a lot of great generals, suffered from hubris. and that proved to be his undoing.