The entire point of the difficulty is actually to keep the confirmation time at 10 minutes.
Confirmation time is 5 min in average. 10 minutes is the gap between blocks.
Nope. The gap between two blocks is indeed 10 minutes in average. But the confirmation time for any random transaction is also 10 min in average. May seem non-intuitive, but hey, maths (and more specifically: exponential probability distribution).