There is no perfect system. So called merit based systems, as favoured by the locos, are open to abuse by corrupt managers and nepotists. However, while seniority lists are less open to such abuse, they have a very strong negative indirect effect on terms and conditions - they prevent migration from company to company, trapping individuals in airlines with poor terms and conditions, allowing the airlines to get away with it, and while those airlines with seniority lists tend to also have better Ts and Cs, those are being gradually eroded as the conditions of the others plummet (market forces and all...).
Seniority lists also guarantee weak pilots a chance to be captains while flying with superior FOs. A merit based system, if run with a measure of integrity, will ensure that only the better pilots are promoted, and those who study hard and work hard progress faster.
So, while many uphold seniority lists benefits, the long term negatives are usually overlooked. Which system is better is open to debate, but I would argue that their disappearance would encourage pilot migration to the better outfits, forcing those with poorer conditions to up their game and market forces then requiring the top employers to increase their terms too to compete for the best crews. It's a system which, on a closer and cynical analysis, seems to favour airlines more than pilots. This is why such systems are not allowed by unions in any other profession I can think of - medicine, law, education, engineering, banking, politics, bureaucracy, you name it...
I shall now don my nomex suit.