For USPS purposes they are essentially the same.

An envelope is what we all think - something that contains a letter.

A "flat" means essentially that - it is flat. As compared to a package.

Don't confuse "Flat" with "Flat Rate".

One refers to the packaging, the other (Flat Rate) to the cost of shipping (and maybe the packing).