In a lot of places, you pretty much have to register for a party to have any say in the local elections. Where I live if there is a primary for an office it is guaranteed whoever wins the Republican primary is going to win the office, so if you want to have a vote in that election you have to register Republican.
I think everyone should get a vote in every primary. If there is a Republican and Democratic primary then you should get to cast a vote for a Republican candidate and a Democrat candidate. I think this would result in a better selection of nominees for offices.