Because DC is not always from your memory. It can be loaded bitmap, which you can load with GDI functions, not your own code. Or it can be existing window - and you are copying one portion to another. In Windows the DC context is not only about your own managed "image". It can be many things.
Also, when I said that I doubt about performance differences, I meant it on modern computers and modern Windows. If you go back 15 or 20 years, then probably it mattered - whether you are blitting from your own custom DIB section, or from existing DC. Because you can create more "optimized" DC. Basically if you know target DC where you will be blitting you can preconvert all source DC's to same format to make blitting faster when you are reusing source DC's multiple times. If you are using them only once, like HH does, then probably this does not matter.