Others have already pointed out the inherent advantages a big airplane will have over a smaller one, I would just like to add that even though the J15 may be bigger than optimal for the Liaoning, the Chinese can, and will design their future carriers with the size of the J15 in mind, so it would be less of an issue.
One also has to consider the primary role the PLAN sees its carriers serving in the near to medium term, and that is fleet air defence and anti shipping strike.
For both those roles, bigger is better.
On CAP, a J15 can stay on station longer, carry more weapons, and have a bigger radar and more powerful avionics than a medium sized plane. The bigger fuel reserves is key, as it gives the J15 the luxury of punching in afterburners more often, and for longer than a smaller bird. That can be a huge advantage both in terms of getting to targets faster, ie, before they have a chance to launch at your surface fleet; and also in air combat itself, since the J15 pilot won't have to worry about whether or not he will have enough fuel to get home if he kicks in afterburners.
For anti-shipping, a bigger bird can carry heavier missiles further, and can allow you to strike at an enemy task group with near impunity if your opponent simply doesn't have planes with the legs to launch strike missions against you from such a range.
The only missions where more smaller birds would be superior would be in the CAS or other similar land attack roles, where sortie rate and number of targets hit per day matters. But since China has little to no aspirations to go colonising other lands no matter what Fox News might say, that's really not much of a drawback as far as the PLAN is concerned. And in the long term, I see such missions being farmed off to naval UCAVs anyways, so no need to baggage a new manned fighter with that requirement in this day in age I say.
In the long term, I see the PLAN introducing a stealth 5th gen naval fighter onto their carriers, either in the form of a naval J20, or J31, or maybe even something completely new that we haven't even heard of yet. In any case, this new carrier 5th gen will take over the CAP and air superiority roles from the J15, and the J15 itself can more into the strike and support roles, such as EW, tanker, forward drone controller, or any role where stealth is either not needed, or simply incompatible. The key is that its size gives it growth potential that a smaller airframe simply cannot hope to match.
So I see the J15 as in effect future proof, which is why it is a great choice. A naval J10B might be better for the Liaoning, but it will be obsolete as soon as something like the J31 and naval strike drones become operational, and will not have the flexibility to move into other roles as easily like the J15.
A Mig29K purchase would be even worse, since with something like the J10B, at least you have the option of adapting it to other roles if you really really wanted to, but with a purchased foreign aircraft, you'd be lucky to even be allowed to integrate your own weapons onto it.
So, to sum up, in my view, for someone like China at least:
- the Mig29K makes sense only in the short term, the benefits are you get everything up and running a year or two earlier. But in the medium to long term, it is likely to become more of a liability than an asset. Taking up deck space that could be used to house something far more capable (naval 5th gen) or useful (tanker/EW/drone controller J15). What more, you have the added logistical and operational costs and headaches of needing another set of foreign parts, and more problematically, weapons, that the rest of your air wing cannot use.
- a naval J10B would make sense in the medium term, giving you a more flexible, and capable, in certain fields, platform than the J15. But like the Mig29k, it will quickly become obsolete. A carrier J10B might have made sense if development work on it started 5, 10 years ago. But to start work on it now would not make much sense when the J31 is already flying, and unlike SAC, who's sole focus is on the Flanker family, I think CAC has too many, higher priority projects taking up the bulk of its resources that it won't be able to rush a carrier J10B as fast as SAC did with the J15. Just look at how long the J10B itself has taken.
Opting for the J15 probably has set the Liaoning back a year or two at least, but Chinese planners tend to focus on the big picture, and have plans and strategies that come may not come to fruition for decades. So for them, loosing a year or two in the short term means very little if there are significant gains to be had from that decision, 10, 15, 20 years down the line.