There is no difference, really! For J group means, you can create J-1 orthogonal contrasts, but the particular contrasts that would be theoretically motivated will differ study to study. For some reason (vanity?) people started naming a couple common sets of orthogonal contrasts. There’s nothing fundamentally different about conducting Helmert contrasts vs. polynomial trend contrasts vs. some other set of orthogonal contrasts you invent. They’re all just contrast weights applied to group means. When you have a set of means you want to conduct contrasts on, just think about which comparisons would make sense theoretically and figure out a way you can elegantly get that information. When possible, you should construct orthogonal contrasts (but don’t stop yourself from testing an important question if it would mean non-orthogonal contrasts – orthogonality is good, but not vital). Maybe you’ll end up with a set of contrasts that has been named by somebody, maybe you won’t. It completely doesn’t matter. Just pay attention to your contrast weights and you’ll be able to interpret your results just fine.
For an excellent description of lots of different coding schemes – and all of the relevant code for using them in R! – see the contrast coding explanation from IDRE. Although beware: the contrasts() command is not as straightforward as the lovely folks at IDRE make it out to be. If you’re interested in trying this in R, be sure to also read my rpubs page on contrasts.
Also see this post by Nicole.