承诺 is used to some situation very very formal.
for example, when you sign a contract with someone, maybe you make some promise to him.
then maybe the contract will say like this: the Party A promises to pay 1000 dollars to the Party B. 甲方承诺支付乙方1000美元。(甲方 means the Party A 乙方 means the Party B)
another example, a soldier promises solemnly that he never betray to his country under the national flag. 一名士兵在国旗下庄严地承诺他永远不背叛自己的国家。
for 保证 and 答应, when they are verbs, they are same. but their usages are different.
promise me: 答应我 or 向我保证
I promise you that I will never go there again!
我答应你我再也不去那儿了!
我向你保证我再也不去那儿了!
and 保证 can be a noun but 答应 cant.
for example,
make a promise: 做一个保证。
承诺 can be a noun too.
make a promise. 做一个承诺。 (very formal as I said)