Enough already with the "flat design" bs. It's nothing more than marketing lingo. There is no such thing as "flat" design. What does it even mean?
The pendulum has swung back and forth on this.
When they mean flat, they mean not-shaded and not-shadowed to make it look like the different UI pieces are 3D. So a plain single-color box instead of a Windows XP button.
Things started out flat-looking: both in the OS and Web. Partially because things were more primitive then and doing those effects without anti-aliasing, transparent-colors, and we were still on 256 color and even 16bit as the max. So it was a chore.
Then 3D / textured / etc. buttons and such became all of the rage. Kind of like how the buttons started looking in XP... from simple gray squared to shaded things that look like they little rounded cylinders sitting on the screen. Or like little silver chocolate-bars pasted to the screen.
Now, things are going back towards flat again. Simple square boxes without the extra shading to make it look like it's a rounded cylinder. Windows 8 is "an" example of this. But a lot of web-sites are going back in this direction too.
-----------------
So in the opposite direction of "Flat" we have "fake 3D" or "fake depth"
So looking at the iPhone, with the screen locked and the "slider" saying "slide to unlock" When you look at that silver button with the arrow on it, it looks like it has depth.
Or like on the iPhone, the "Calcuator" or "Compass" or "Weather" buttons look like they have reflections and shadows to make them look like they are a piece of 3D object sitting on your screen.
Or how starting with Windows XP, the buttons (OK / Cancel / etc.) started to have some shadowing to them.