Why not let anyone attend any public school? Because public schools are largely funded by local taxes. So a school in an expensive neighborhood with high taxes will naturally be a magnet for everyone else who can be a free-rider (in the economic theory sense). School vouchers fix this problem by carrying revenue along with the student instead of tying it to geography.