Well, bullfight is a very significant ethnical and cultural demonstration in Spain. The Princes of Asturias are going to be the supreme figures of Spain, so they had to attend that spectacle the days before the wedding, as it was regarded almost as ritual of blessing (the bullfighter gave them his hat, at the end, as a sign of respect and best wishes).
Queen Sofia herself doesn't stand bullfights, but she had to watch one, when they visited Açores last Summer, as it's a compliment paid by the people to the Kings of Spain.
When you're a royal, you must respect the culture of your people and of the peoples you're visiting, even if you don't appreciate it. It's part of the job, and that's what people expect from them.