The OP asked what flashcodes are and how they work, not how to decode them.
A flashcode description and writeup is available on Batlabs, written by one named Batdude, but you'll have to dig for it; either that or send him a Batlabs PM asking for the location.
In a nutshell a flashcode is a 13-digit number that describes via code the exact capabilities that have been programmed into a Motorola flashcode radio, such as an XTS 5000 to name just one common model. Each digit is a sum of several flash features, and the first digit of flashcode is often used an a good example. Let's say your radio's flashcode begins with the number 5. That number is a combination of a 1 and a 4. The 1 is for P25 digital operation and the 4 is for enhanced digital display. The second number in the string will be the same thing, but for additional features. If you code is something like 100000-00000-1 then you have a basic P25-capable radio that won't do trunking (trunking code is in another position) but it will also do analog FM, because ALL of the radios, whatever their flashcode, will do analog FM. The last digit is, I think, a checksum or something of that type. Find the writeup by Batdude and you'll be up to your ears in flashcode stuff forever.