Grimm's Law is a sound change found in all of the Germanic languages, named after the linguist Jacob Grimm. It was originally conceived as a set of basic correspondences. Grimm noticed that the following sounds in Indo-European tend to correspond to each other (well, actually he didn't compare these specific languages, it's just an example):

Germanic Greek Latin Sanskrit Slavic
f, θ, x p, t, k p, t, k p, t, k p, t, k
p, t, k b, d, g b, d, g b, d, g b, d, g
b, d, g ph, th, ch p, t, c bh, dh, gh b, d, g

Assuming that the system of Sanskrit was the most archaic one, it was concluded that the Proto-Indo-European stops had changed into the Germanic ones as follows:

  1. Voiceless stops became voiceless fricatives (an instance of lenition). I.e. p, t, k > f, θ, x.
  2. Voiced stops became voiceless, to avoid having a language with no voiceless stops. I.e. b, d, g > p, t, k.
  3. Voiced aspirated stops lost their aspiration, becoming plain voiced stops. I.e. bh, dh, gh > b, d, g.

The law was not perfect. Linguists have discovered four exceptions.

In the first, it was noticed that the clusters sp, st, sk stayed as they are in Germanic, not becoming sf, sθ, sh. Also, /t/ did not change after another stop (which would have to be voiceless because Indo-European clusters assimilate for voicing): so pt, kt > ft, ht. This had the consequence that voiceless stops were not aspirated in these environments in the later Germanic languages (if you believe the glottalic theory, the aspiration of Germanic voiceless stops is a lenition of the original glottalisation they had).

The second turned out not to be a problem of Germanic: instead, it was due to linguists basing their reconstructions too closely on Sanskrit and Greek. These languages both had a rule that aspirated stops could not occur in consecutive syllables, so a root like *bʰénǵʰus 'thick' > Greek pachús, not phachús. Given these Greek and Sanskrit, linguists assumed that the Indo-European form of this word was *bénǵʰus, giving a Germanic reflex pinguz; but instead we see Old High German bungo 'bump'. It didn't take long then for linguists to realise that the Proto-Indo-European had not had the aspirate dissimilation rule (called Grassmann's Law) originally, and the true root was *bʰénǵʰus.

The third was the most problematic. Proto-Indo-European voiceless stops p, t, k were very often reflected as b, d, g in Proto-Germanic, rather than the fricatives. And this seemed to be quite random. Eventually Karl Verner solved the problem by positing Verner's Law. He said that after Grimm's Law, the resulting voiceless fricatives f, θ, x became voiced v, ð, ɣ when they followed a vowel that was unstressed. b, d, g then lenited to v, ð, ɣ in most environments, including any where Verner's Law would have applied--resulting in it looking like the voiceless fricatives had become voiced stops (but they had really become voiced fricatives, allophones of the voiced stops).

The clever part of this was that he said the fricatives voiced after vowels that were stressed in Sanskrit, not Germanic. This explains the seemingly random distribution in Germanic--the original conditioning environment had been lost, since Germanic moved the stress to the initial syllable always. This meant that the Sanskrit stress distribution must be the older one.

With these exceptions solved, Grimm's Law was an example of a completely regular sound change. The basic structure of it has not been altered since. However, a few alternative perspectives of it have sprung up.

The first of these is the view from the glottalic theory, in which case Grimm's Law is quite a different change. The glottalic theory proposes that the traditional series of Proto-Indo-European, voiceless, voiced and voiced aspirated (based on Sanskrit), are actually voiceless, glottalised and voiced respectively. If this is true, the first stage of the shift, voiceless stops to voiceless fricatives, happened as normal, but the glottalised stops were merely weakened to aspirated stops (or not even--English still glottalises these stops in coda position), and the voiced stops did not change.

If you accept this, or you view the Proto-Indo-European voiceless stops as also aspirated, it is possible to reverse the traditional chronology and make Verner's Law come before Grimm's Law (without postulating either of these you cannot explain why voiceless stops were also aspirated after unstressed syllables). There are a number of arguments for this that are, in my opinion, convicing (e.g. Grimm's Law probably happened quite late--English hemp is probably a loan from Greek kannabis, which first appears in Greek texts around 500 BC, and Roman ethnographers record several tribe names with an initial /k/ corresponding to Indo-European /k/; of course this could be due to them hearing /x/ as /k/).