As it stands, the definition of citizenship from my own practical point of view is, "You've been a permanent resident for long enough, have picked up the language in the process, know a few history facts and the National Anthem, and are willing to give up your previous country's citizenship for us".
With all due respect, that's a lousy set of criteria for whether or not I get to vote in a country that I care about, whose people, policies and politics I follow closely, and that I consider a long-term home for at least a good portion of my life.
Being a citizen is definitely more than being a taxpayer. But then, look at what your criteria would be, and apply that same standard to born citizens. Being born in a certain place, or to a certain set of parents, is obviously a much better criterion to judge people and their connection to a country, is it not?
Obviously that's what people have decided on and continue to uphold. I just find it hard to follow that reasoning.