Sometimes the graphics card doesn't start drawing all of the things you've told it to draw until you try to Flip, which attempts to flush the graphics queue first before flipping. See glFlush() for example, as a way of getting the card to finish drawing sooner in OpenGL.
The flip, which is the copy from the backbuffer or the hardware pointing to the next buffer, etc, usually should take the same amount of time each frame. If it's not, then Flip() is doing more than just switching the buffer into view. Also bear in mind the wait for the vertical blank comes into play and can waste lots of time in some situations.
I don't entirely understand what Dreamora was saying about having to upload textures etc... presumably that's only when you run out of texture memory.
The flip, which is the copy from the backbuffer or the hardware pointing to the next buffer, etc, usually should take the same amount of time each frame. If it's not, then Flip() is doing more than just switching the buffer into view. Also bear in mind the wait for the vertical blank comes into play and can waste lots of time in some situations.
I don't entirely understand what Dreamora was saying about having to upload textures etc... presumably that's only when you run out of texture memory.