I am wasting my time with you but here goes....
The reason that the Indian Navy probably chose the Mig-29K over the Su-33 is that they can fit more of the fighters into the 45,000 tonne carrier. Since the SU-33 is much larger, it stands to reason that they would be able to fit more into the confined environment of a carrier if they chose the smaller Mig-29K. I assume that if the IN went for the SU-33 they would have had only 16 SU-33 on the carrier as opposed to the 24 Mig-29K
Now if you are only interested in air defence having a small fighter would not be too much of a hindrance(but you will still have much reduced loiter time and so less number of aircraft on CAP at any one time as they will have to go back to the carrier more often to be refuelled) as the aircraft would not have to travel long distances in the open ocean. It would also only need to carry relatively light-weight AAM as air ordinance.
The real advantage of much heavier fighters comes in the attack role. The attack role would require much longer distances to be travelled and there would be a real emphasis on carrying heavy anti-ship missiles and bombs. Heavy fighters like the J-15 have ample fuel and power to power themselves over long distances and carry heavy loads
The IN are not idiots. They went for larger numbers of the smaller Mig-29K rather than smaller numbers of the heavier, much more capable SU-33. It was a decision they made as they had to think about the limitations of an aircraft carrier.
Now think to yourself, if the Mig-29 was just as good as a Su-27 why are the Indian airforce procuring massive numbers of Su-27-derived Su-30MKIs rather than the cheaper Mig-29. Are the IAF idiots then for wasting money needlessly?
Hope this helps you and if you still need more help then please let me know and I will try my best.