A simple example of signature virus detection is just hashing the virus with several different algorithms. If a file with those signatures is spotted, then it is most probably (though not definitely, as collisions are possible but highly unlikely) a virus. While in practice this is difficult (polymorphic viruses make this an almost unworkable solution in many cases) the theory is simple.
A heuristic in its most basic form basically defines "suspicious behavior" or "suspicious code" and acts on that. So for example (this is very oversimplified again) if a program is trying to add itself to the list of start-up programs, is not signed by a trusted publisher, and is trying to access the internet, it MIGHT be a virus. It might just be an installer though.
This is a fairly simple example of why heuristics are more probabilistic than deterministic, where as signatures are the other way around.
Just as a short comparison:
Heuristics: Has false positives and negatives, but generally low on both (ideally).
Signatures: Has false negatives, but almost never false positives.