In R, the default contrast for a K-level factor are K - 1 "treatment" contrasts, where there is a reference level (by default, the first lexically sorted level) and all other levels are compared to it.
When you define a K-level ordered factor, then orthogonal polynomial contrasts are used, resulting in a different contrast matrix. In your example above, with 4 levels, you will end up with a linear (.L), quadratic (.Q) and cubic (.C) contrasts.
You can see the difference in how the contrast coding is done:
> contrasts(factor(c("grp1","grp2","grp3","grp4")))
grp2 grp3 grp4
grp1 0 0 0
grp2 1 0 0
grp3 0 1 0
grp4 0 0 1
> contrasts(factor(c("grp1","grp2","grp3","grp4"), ordered = TRUE))
.L .Q .C
[1,] -0.6708204 0.5 -0.2236068
[2,] -0.2236068 -0.5 0.6708204
[3,] 0.2236068 -0.5 -0.6708204
[4,] 0.6708204 0.5 0.2236068
It all comes down to what hypotheses you want to test, given your data.
There is a page at UCLA that might be helpful:
http://www.ats.ucla.edu/stat/r/library/contrast_coding.htm
Regards,
Marc Schwartz