ITs a European competition they move the finals around for one VERY SIMPLE reason. IF they held it in the same 4 countries of the teams who win it, Spain, Italy, England, errm and France/Germany(hard to tell at the moment) then very few neutrals get to see a big spectacle european game. IT means a Spartak Moscow fan can see a Champions league final for a once in 20 years chance. Its not supposed to cater to home based fans and anyone that thinks so is just being selfish and shortsighted. What if England from next year never make it past the group stage and to be nice to home fans they hold it in spain every year and English fans never really get that chance to go to such a huge game in their country.
50-100k fans will watch the game in the stadium depending on the stadium, couple hundred million will watch it on TV anyway so a majority of the fans won't be there and won't get to go even if it was held 10 metres down the road from where they live.
It not only gives neutral fans a chance but also give actual fans of the club that don't live near their club a once in a lifetime chance to see them. Not everyone has the money to travel for a game. THis will give both Man U and Chelsea a chance to make existing fans happen in Russia, which will cause an increase in shirt sales and merchandise being sold, and some of those neutrals will turn into Man U or Chelsea fans and increase the fan base, increasing the clubs revenue, to help pay for more players and higher wages.
You can clearly see the difference in turnover and profit between clubs who actively try to increase worldwide fanbase, Man U, over clubs who only give a crap about fans at home, say Newcastle, even liverpool to a sense who for size and success of the club have pretty poor turnover and profits.