This one might be a little off the beaten path, even for me. But there was a free breakfast on the line, and in the middle of everything I thought, "What a great way to talk about electric motors?"
I was visiting some friends and they only had one running and driving Jeep at the time. They knew the starter was on the way out, but hadn't gotten around to changing it despite my having sent a spare over to them a while ago. So, the fateful morning we were all set to go to breakfast and the Jeep wouldn't start, it was ol' Randy to the rescue (and I got a free breakfast out of it, too).
The power flows into the motor...
The power flows into the motor through the top of the armature using spring-loaded brushes to get the electricity over the gap between the case and the armature itself. The multiple contacts and windings are set so that opposing sides switch from positive to negative as the armature rotates, and like two refrigerator magnets that refuse to be pushed together, this action causes the electromagnet of the armature to push against the permanent magnets affixed to the starter case.
An electric motor works by swapping the poles electronically. The heart of the starter is nothing more than a motor like you might find in an RC car or blower motor. In this case, the power is applied at one end, energizes the electric coils, and the magnets make it spin. As it gets up to speed, the Bendix spins the starter gear in towards the flywheel. Of course, I am oversimplifying here, but you get the idea.
So when a starter goes bad, if the solenoid is good and power is getting to the starter motor itself, either the Bendix is bad, or the motor is bad. If the starter spins but doesn't crank the engine, the Bendix is likely bad. If the starter doesn't spin but you know you have voltage, something is wrong in the motor itself. Sure, the gears can be stripped out and a few other mechanical things gone wrong (are the bolts tight?), but this basically covers it.
When the starter died I knew that it was the motor because I saw the smoke come out with my own eyes as I watched the starter. Unfortunately, the spare starter we had didn't fit, so I had to use some good old-fashioned ingenuity to get my breakfast. Fortunately, since electric motors are simple things, it was easy to see what was wrong with this one and relatively easy to fix, even for me. So before you go throwing that old starter out, think about what went wrong with it, and maybe you can fix your starter, too. The same basic idea applies to heater blower motors, winch motors, and alternators (in reverse, with the "snout" being driven by the engine).

As soon as I had the old starter...

As soon as I had the old starter apart, it was obvious that all the brushes were shot. From the damage to the copper where they ride, I could tell most of them had been shot for a while. The spare starter, while too big for what I wanted to do, had the correct inner diameter where the brushes ride on the armature, so I was pretty sure I could make it work.

I needed to grind down the...

I needed to grind down the back of the brush housing and the inside of the starter can because the donor starter's OD was just a bit larger than the busted one. As long as I didn't decrease the strength of the brush assembly or the can too much, I knew I'd be good to go.

Most motors I've had apart...

Most motors I've had apart have a ball bearing that the nose or snout rides on. The busted one didn't, but it looked to have a powdered mess where a bearing might have been. So, I took the bearing from the donor and dropped it in. Problem was, the bearing was bigger than needed, and the concave surface of the snout wouldn't accept it, making the whole armature ride 1/4-inch too far out of the case. I used a drill bit of approximately the right size to cut the 1/4-inch out of the snout and get the armature to ride where it needed to be. I then greased the gears that drive the Bendix and the bushing in the back of the case. It isn't a permanent fix, but the Jeep has a couple thousand miles on it and a couple of hundred starts since the repair and it's still going.