H.323 - very 1st developed protocol that is supposed to do everything, however has large overhead, is cumbersome to troubleshoot, many things are vendor-specific and has already fell out of favor for SIP in current voice networks.
SIP - a more standard and modern protocol that again is supposed to do everything modulo vendor incompatibilities and bugs.
MGCP - a protocol in which the gateway/phone/endpoint has no intelligence and everything is decided by the "call manager" to which all signaling is relayed. Telcos and some CCM design architects likes this concept very much.
My advice: go with SIP for as much as possible.
hope this helps, please rate post if it does!