I was working in Cardiff during the SL test match and came across very few people who even knew it was going on in their city. Those who did were very negative about it.. Cricket culturally is seen as an English game and more was said about the rugby match against the Barbarians.. Apparently the vast majority of spectators travelled from the south of England anyway, begging the question as to why it wasn't there in the first place..
Unless Cardiff is offering something which the remianing stadia do not, then why do they have the right to host these matches? Poor crowds when anyone apart from Australia play should signal a move back up to Headingley and Old Trafford, but I bet it won't..
As for the West Indies, they don't have a divine right to play at Lord's, but I think Lord's does a good enough job to have a divine right to host..