You can generally think of it this way:
Cat5: Old standard, made for 10/100 mbit transfer rates
Cat5e: Improved version of Cat5, made for 1Gbit transfer rates, improved shielding/cable gives better protection against so called "crosstalk" interference.
Cat6: New standard, way better shielding against crosstalk. Also made for gigabit transfer rates, but can handle 10Gbit over shorter distances (50 meters).
CAT6 are generally used in datacenters and hopefully as infrastructure wiring in new buildings. CAT6 between switches, Cat5e to the clients.
All the above CAT's can perform their stated transfer rates over max 100 meters. Cat5 = 100mbit@100 meters, Cat5e = 1Gbit@100 meters, Cat6 = 1Gbit@100 meters.
What is crosstalk interference?
It's basically the interference on the signal traveling through the cable, from external sources.
Like if you install a TP-cable parallel (or if you cross it) with your electric cables, the electromagnetic interference created by the power cable, will affect your TP signal.
The reason these cables are twisted in pairs (TP/Twisted Pair), is to evenly spread the interference on all the cable pairs inside a CatX cable.
On this pic you can see 4 pairs of 2. A regular patch-cable only uses 2 of these pairs.
This means you can actually run "2 cables in 1", just add another RJ-45 plug on the unused pairs.
To answer your question:
Buy whatever is cheapest. If its a permanent cable installation (in the walls or something), go with Cat6 for future proofing.