C = one time programmable
F = Flash memory, can be reprogrammed thousands of times
12 = Old Old School
16 = Old School
18 = Enhanced PIC (none of the 12/16 flaws)
24 = New School (Not much support as yet)
dsPIC = New School (Not much support as yet)
The following 2-4 digits is the type of PIC. For the 18F series;
18F1xxx = 18 Pin
18F2xxx = 28 Pin
18F4xxx = 40 Pin
If this value is four digits and end with a zero, then its an enhanced version of its predecessor, with many improvements and upgrades, eg,
18F452
18F4520 (Enhanced Model)
18F458
18F4580