I read somewhere that you should shoot in "flat colors" to make it easy to work in post-production. What does "flat" mean?
A digital sensor is a linear device — it counts photons, and gives a value which corresponds directly to the amount of light. Human vision, however, doesn't work that way. Our perception of light follows a power curve. So, images made with "flat", unadjusted sensor output look dull and lifeless.
Cameras convert this raw sensor data into made-for-use JPEG files, and as part of this conversion, they apply a tone curve. If you shoot with settings which boost contrast or saturation via a very strong curve, you get images with more "pop", but there is a loss of data in the "squished" areas. You might want that data in post-processing, so shooting with "flat" settings (low contrast, neutral saturation — and minimal sharpening) gives you more room to work in post-processing.
Take a look at this answer to a question on curves, where I start with a neutral, "flat" image and make some adjustments.
Note that this only applies to JPEG (or TIFF) output, not to RAW. If you're using RAW, the tone curve information set in the camera (along with things like white balance) are merely advisory — RAW converter software can read that later in order to set defaults, but you can adjust all you want, since the original flat data is still there. If you shot in JPEG with one strong tone curve but then wanted to go a different way, you'd be out of luck. That's one big reason why many people advise shooting in RAW, and if you're going to post-process heavily, it's good advice.
(In my sample curves in the answer linked above, if I'd started with the strong high-contrast version, there'd be no data in the shadows to make the low-contrast or more-balanced contrast examples from.)
In fact, I'd go so far as to say the "shoot flat" suggestion is obsolete — it's from a time when RAW conversion software wasn't so sophisticated or readily available, and when many otherwise-fancy cameras didn't even offer RAW. In those cases, you might shoot flat JPEG and bring it out later. Now, though, if you are going to shoot JPEG, I think it's best to discover how your camera works and what settings you like, and aim to get the image right in-camera, including the tone curves, so that you minimize the need for any changes. If you are planning to make significant post-processing adjustments, shoot RAW. (Or, hedge your bets and capture both.)