I'm really only familiar with the C calling convention at this time (as described at Nasm - C calling convention). This same source also describes a Pascal style calling convention.
I am seeking to understand the various function calling conventions out there (description or sources)? Also what are the advantages or disadvantages of using one over another (if any)?
NOTE: Most interested in the x86 platform, but you're welcome to describe others.
The big advantages to the C calling convention are:
Register based calling is useful too, and I think many C compilers do this to optimize rather than pushing integers/pointers on to the stack -- but not for externally-visible functions in libraries, of course!
The whole point about conventions is that they're conventional. It makes sense to follow the convention because then other people who obey the convention know what to expect. So really, don't overthink it. This is a case where following the crowd yields tangible benefits.