Some ceramic disks wear a color "skull cap" to indicate the dielectric.  These will also use a XXM format to indicate value (where the M is the multiplier), and a tolerance letter from Table 5 above.
table 6
For example, 102J with a black cap would a 1000 pF 5% C0G.  There is a similar system for Class 2 and 3 ceramics.
Sites with capacitor marking information: 

All this is little problem for equipment manufacturers who know what they are buying.  The hobbyist using surplus parts (or someone doing repairs) might at least want to invest in a cheap capacitance meter, there are lots of them (or even build one). 
table 10
SMD

SMD ceramics will often be marked with a two-digit EIA code (letter plus number) to indicate value.  You may also see a one-digit-plus-color-code.  See Tables 10 and 11 below.  Manufacturers usually offer volume buyers three marking options, EIA standard, custom, and none.  None is chosen all too often.  Table 10 is an EIA system, but the origin of Table 11 is unknown (I have only seen it used by Philips).
For example, A5 = 1.0 x 105 = 100,000 pF = 0.1 uF, and f9 = 5.0 x 10-1 = 0.5 pF.  Simple enough. 
table 11
The type of dielectric may be indicated with a "bar code" system that uses bars above, below, and on either side of the value code.  For example, |XX is X7R with value of XX from table 6 above, and XXI is Z5U.  XX is N330 (S2H), XX is N470 (T2H), XX is N750 (U2J).  C0G is XX, where the bar is my way of indicating bars > over < the value digits (XX).  So for example, |A5 is 0.1 uF X7R.  Murata-Erie uses this system, but I donĀ“t know if anyone else does.  People have long asked Microsoft to add an overline feature to Word, but Microsoft has refused. 
          SMD tantalums usually have enough room to have the value and voltage spelled out (sometimes without telling you which is which), some use the two-digit EIA code above, and some are marked in other ways.  Tantalums can also be found with a voltage code (instead of the tolerance code normally seen on ceramics), as shown in Table 12 below. 

So how many ways can you mark a tantalum SMD capacitor?  Any number of ways depending on room available and the manufacturer's frame of mind.  A 10 uF/25 Volt capacitor might look like:

table tant smd mark
          The above list is not exhaustive.  Variations include date codes based on a system of dots, and special voltage/value schemes loosely based on the EIA codes, but with modifications and additions.  At least one company sometimes uses the letter part of the EIA code, without the exponent, to indicate uF instead of pF (J would be 2.2 uF). 
Military Capacitor: 

Military capacitors use a long-winded code that gives dielectric, temperature drift, value, tolerance, temperature range, voltage, and failure rate.  See http://wiki.xtronics.com/index.php/Capacitor_Codes  for that and some other marking codes. 
Obsolete Mica Codes

Molded micas (sometimes called "stamp" micas) came in cases with molded-in "pockets" for colored paint dots that identified some combination of value, tolerance, voltage rating, vibration rating, temperature rating, and temperature drift. 
Markings and Codes
Nomenclature: 

First, let's get our nomenclature straight.  1 mF (milli) = 10-3 farad, 1 uF (micro) = 10-6 farad.  1 nF (nano) = 10-9  farad, 1 pF (pico) = 10-12 farad.  1 pF = 10-3 nF =10-6 uF.  Nano is rather less common than micro and pico, but it still shows up.  "Femto farad " (fF) is used for things like RAM chip storage capacitors, but there are no discrete capacitors in that size range. 

Well, that's really not true.  Microwave capacitors go down to at least 50 fF, but are called 0.05 pF.  

It would be nice if there was more consistency to capacitor markings.  If the manufacturer has lots of room (like on big electrolytics) they will usually print everything they can; value, voltage rating, temperature rating, series, even country of manufacture.  However, the smaller the part gets, the less information you get until, on the smallest parts there may be nothing at all.  On small through-hole ceramics, a two-number-plus-exponent system is often (but not always) used.  This, like most marking systems, is based on the picofarad, the lowest common denominator of capacitance.  470 may be 47 (47 x 100) or 470 pF but 471 is almost certainly 470 (47 x 101).  473 will probably be 0.0047.  However, 479 will probably mean 4.7 (47 x 10 -1).  Values below 10 pF may use "R" for a decimal point, 4R7 = 4.7 pF for example.  With luck, you might also find the material (C0G, X7R, etc.) and voltage rating.  The tolerance may be next to the value.  Table 5 shows the EIA tolerance codes for ceramic capacitors.  Once again, don't expect to find all possible combinations of values, dielectrics, and tolerances.  The tighter tolerances mostly apply to small C0G capacitors and the looser tolerances to larger Class 2-4 ceramics.

For example, if you see .047K, the value is .047 uF 10%.

Acronyms: 

RMA:  Radio Manufacture's Association.  1924 to 1953. 
RETMA:  Radio Electronics Television Manufacturers' Association.  1953 to 1957. 
EIA:  Electronic Industries Alliance.  1957 to 2011.  Its various activities were take over by about a half dozen other organizations.
 
IEC:  International Electrotechnical Commission, iec.org, made up from many national standards organizations.
JIS:  Japanese Industrial Standards Committee

Standards: 

American:  EIA RS-19 
European:  IEC-60384 
Japanese:  JIS C5101
Polarity: 

The polarity of electrolytic capacitors is important and manufacturers have a variety of ways of marking the polarity.  The aluminum people are obsessed with the negative lead and the tantalum people with the positive lead.  The use of - sign to mark polarity is not guarantied however.  If you go back a few decades you can find rare radial aluminums that have a + sign to mark polarity. There are non-polar aluminum capacitors but I have never seen a non-polar tantalum capacitor.  Even film capacitors can have a polarity of a sort.  Sometimes a band is used to mark the lead attached to the outside foil.  This was universal in the days of hand-soldered AM radios but rarer today.  This is irrelevant for stacked-foil film capacitors.  The picture probably does not cover everything. 
China Standard GB/T 2470-1995: 

GB/T 2470-1995 (previously called GB 2470-81) is the standard China uses to identify resistors and capacitors.  I know little about
it, but I became interested because it is so often used by manufacturers and distributors to identify large motor run, motor start and
lighting capacitors.  It is also used for small board-level parts.  You often see things like CBB60 or CBB80A-1.  You almost always
see it used on Chinese web sites  (they sometimes get it wrong) but rarely does anyone bother to explain anything about the system. 
What does it mean?  This is what I was able to find out from a large number of Chinese capacitor sites:

1:  C=capacitor
2:  B=organic film (polymer film)
     D=electrolytic
3:  B= polypropylene
4:  A number that gives the type. 
60=motor run, equivalent to ANSI/EIA-463, round plastic shell.
61=similar to 60 but in rectangular plastic shell. A uses wire, B uses "quick-connects".  Probably for smaller motors. 
65=similar to 60 but oil-filled metal can with built in overload protection ("P2 anti-explosion").  Versions are A, A-1, B, B-1 for
different quick-connect configurations.  Air conditioning?
66=metal halide lighting? 
80=made for use with various lamps, sodium vapor, mercury vapor, others, plastic case.  Versions A-1, A-2, B-1, B-2, B-3, for
various connections. 

These are a few other codes I have seen, there seems to be many others.  These may not be completely accurate because the Chinese
e-commerce sites often confuse pictures and descriptions: 

CD13=DC storage, welders, UPS, etc, electrolytic
CD60=motor start, non-polar electrolytic. 
CD263=small electrolytic, many other numbers
     smd electrolytic capacitors don't seem to follow this system

CBB11=film/foil polypropylene, axial
CBB13=film/foil polypropylene, axial
CBB18=film/foil polypropylene, dipped 
CBB19=metallized polypropylene, axial
CBB20=metallized polypropylene, axial, oval
CBB21=metallized polypropylene, small leaded cap. 
CBB22=metallized polypropylene, dipped
CBB23=metallized polypropylene, boxed
CBB26=metallized polypropylene, axial 
CBB28=double metallized polypropylene, dipped
CBB29=double metallized polypropylene, boxed
CBB62=metallized polypropylene, axial, EMI?
CBB81=film/foil polypropylene, dipped
CBB82=film/foil polypropylene, boxed
CBB90=film/foil polypropylene, boxed 

CL11=film/foil polyester, axial, inductive?
CL12=film/foil, polyester, radial
CL19=metallized polyester, axial
CL20=metallized polyester, axial, oval
CL21=metallized polyester, radial 
CL22=metallized polyester, boxed
CL23=metallized polyester, boxed

CH11=film/foil polypropylene/polyester, axial
CH84=polypropylene  ?
CH85=microwave oven capacitor,
CH681=microwave oven capacitor,

CBBT=metallized polypropylene, resonant frequency converting power

CC4=ceramic, radial, class 1?
CC41=ceramic, SMD, class 1
CC42=ceramic , axial, class 1
CT4=ceramic, radial, class 2?
CT41=ceramic, SMD, class 2 
CT42=ceramic, axial, class 2
CT81=ceramic, dipped, radial, high voltage

CA42=tantalum, dipped, radial
CA45=tantalum, SMD

>>>>> If anyone has more information, send it along. <<<<<
American vs European: 

American EIA style parts usually use a 2-number plus a zeros-value code.  The Europeans might use a "p (pico), n (nano), u (micro)" code where the letters act as decimal point and tell you the number of zeros (p = 0 zeros, n = 3 zeros and u = 6 zeros).  I understand this is taken from IEC 60062 (which I have not seen).  Actually, the European value code is rarely seen, but not quite dead.  It is sometimes mixed with the EIA system for values < 10 pF.  Some examples are: 
Tolerance: 

Another code is for the tolerance of the capacitance value.  There are a lot of possible values under this system but only K (10%) and M (20%) are common.  On the right are markings used for tolerance.  Tolerance and value are among the few markings you consistently see.  However, don't rely on the manufacturers to follow this system exactly.  One uses W for +-0.05 pF. 
Case codes: 

Case codes are most often seen with tantalum capacitors.  Case size codes are based on the sizes in 0.01s of an inch in English and 0.1 mm in metric.

Example:  Case code 0603 (EIA English) and 1608 (IEC metric) is .063 x .031" in English and 1.6 x .8 mm in metric. 

The tantalum codes can include hight as well.  For example:  A 3528-12 is 1.2 mm high and a 3528-21 is 2.1 mm high.  Or maybe not.  Some companies use "bootleg" case codes instead.  So a 3528-21 might be called a B but a 3528-12 might be called a T. 

With this system you can define any size code you want and sometimes it seems like people do.  Below are only the common sizes for different types of capacitors.  In this country the EIA (inch) codes are commonly used for ceramic, but for tantalum and film, the IEC (mm) codes are commonly seen.  I include both for no good reason

Voltage code: 

A voltage code is sometimes found on SMD capacitors instead of a tolerance.  Two digits are official but a single letter is usually used for the common voltages (1C=C=16 volts).  See below: 
 
http://www.wikihow.com/Read-a-Capacitor
http://library.solarbotics.net/pieces/parts_elect_pass_cap_code.html  Also has MIL codes
http://en.wikipedia.org/wiki/Ceramic_capacitor
http://electronicsclub.info/capacitors.htm
http://wiki.xtronics.com/index.php/Capacitor_Codes  Includes MIL codes. 
http://www.tpub.com/neets/book2/3g.htm  Old mica and ceramic. 
http://vicgain.sdot.ru/kondenr/kondr.eng.htm  Some information on Russian component codes, GOST 11076-69. 
Film marking code system:

The chart on the right shows a marking system that identifies film capacitors as to foil or metallized and the common dielectrics.  It was first defined in DIN 41379, now obsolete.  New codes have been unofficially added over the years however.  It is mostly used by the Europeans and sometimes by the Chinese. 
It is not universally used however and not always perfectly followed.  Most people use KT/MKT for polyester, WIMA uses KS/MKS.  Sometimes KPS is used for polyphenylene sulfide, sometimes KI.  Occasionally MM (MMKP) is used for double metallized capacitors.  Sometimes F (FKT, FKPS) is used for foil capacitors.  MKV is sometimes used for paper/polypropylene.  MPT and MFP are used for foil/metallized hybrid capacitors.  MKI seems to have been used for cellulose acetate as well as MKU and MKL (Siemens). 
WIMA once had a MKBx series for polycarbonate.  MKBS for example was in a metal box. 
A "code" sometimes seen on older electrolytics is SV.  As in 400SV or 400 volts sustained voltage. 
http://www.4crawler.com/Diesel/CheapTricks/Tachometer/Capacitor.html