Hello ahmed and welcome to the UAE job forums
A 3 year unlimited contract doesn't exist, or at least, I haven't heard of one. You can have a 3 year limited contract, or an unlimited contract (which, by definition, is unlimited).
1. The gratuity calculations are different for each type of contract.
For a limited contract, Article 132 of the UAE Labour Law defines gratuity as 21 days pay for each year up to 5 years, and 30 days pay after that. So for 3 years, you would get 63 days pay (it might be less if you have been absent). The calculation is based on your base salary, allowances are not included (according to Article 134).
For an unlimited contract, the gratuity is less (Article 137). If you have completed between 3 and 5 years then you get 2/3 of the limited contract amount, in other words, 42 days pay in your case. If you have completed less than 3 years, then you only get 1/3 of the limited contract gratuity amount.
2. An extra month's salary is not in the labour law as far as I know, but Article 75 specifies that an employee is entitled to 30 days leave per year after working for at least one year at the company, and Article 79 specifies that the employee is entitled to pay in lieu of leave days remaining after termination or resignation.
3. Article 131 says that the employer is responsible for repatriation of the employee (an air ticket) plus whatever other repatriation allowances are specified in the contract. An exception might be if you transfer to another job in the UAE, then the employer you're leaving might not have to provide an air ticket. Whether or not an air ticket is provided in the end usually comes down to whether you cancel your visa or transfer it to the new employer.
For any of the above, if your contract specifies additional benefits, then that is what you are entitled to. If your contract specifies fewer benefits then the labour law should override that but it's probably best to at least contact the UAE labour department
in that case.