Earlier quoted context omitted.
I think there's a correlation between being able to explain something and fully understanding it. Being able to think clearly and communicate clearly are interconnected -- if you're programming by instinct then you're not thinking critically about the problems you're solving.
And how can you get better at it?
That won't always help when it comes to verbally expressing things on the fly. If you can't practice with someone, you can try recording yourself trying to explain a topic on the fly, and playing it back. It's best to have a partner. Attending technical Meetups is another venue where you work this mental muscle.