I was wondering if anyone knows. Is 'flat' the opposite of hierarchal? Does it come from a phrase like, "this is a flat-out regular file"?
Well an imaginative way would be flatfiles can be imagined in one plane, a flat surface ,the more complicated DBs have connection between tables which can only be imagined in 3d :P
A flat file is read into a flat data structure, it is essentially an array. One big flat list of values.
A better way to store data would be in a binary tree for example. this data is not flat as it has a root and nodes.
A non flat data structure makes sorting and search much more efficient.
Your speculation is correct: flat files are "flat" in that they do not have an internal hierarchical structure.
Looking at the wikipedia article (and one of its references), the 'flat' in flat file is as opposed to structured file, where the structure can be heirarchical, relational, or a few other formats.