Hi: I passed your question on to Bill Plauger who is the author of the C++ Standard Library that ships with Visual C++. Here is his response.
"MS tried pretty hard to ensure that checked iterators were reasonably
fast and, more importantly, had proper time complexity. Debug iterators also
meet time complexity requirements, but the algorithms that use them (in the
container member functions and the headers <algorithm> and <numeric>) don't.
It's a fine point, perhaps, but an important one."