If you're referring to a normal ballot, I've not seen anywhere that doesn't require some proof of residence and identity, like a very recent bank statement matching the registered address for that voter.
For that to be an issue, someone would have to:
1) Obtain a recent bank statement for a registered voter
2) Show up, in person, at the correct polling location
3) Commit a felony by lying to the poll workers and voting illegally
4) Hope nobody who knows the real person hears them claim to be that person
5) Hope the person doesn't show up and try to vote
Likely you are correct for the places where you have voted, but there is a lot of variation across the US. This page has a map of what states require (or do not require) ID: http://www.ncsl.org/research/elections-and-campaigns/voter-i....
As shown there, California, DC, Illinois, Maine, Maryland, Massachusetts, Minnesota, Nebraska, Nevada, New Jersey, New Mexico, New York, North Carolina, Oregon, Pennsylvania, Vermont, and Wyoming do not require or request that the voter provide written proof of residence, identity, or eligibility to vote.
The specific process for those states differs, but in general, it's all based on self-attestation. Some states require you to provide a signature that is compared against another source, but nothing like a bank statement is required.
For (a) I suppose someone would come to vote only to find their name crossed off. For (b) I don’t know. Perhaps there would be cameras. Note that to commit fraud like this you still need one appearance at a polling station per fraudulent vote so it’s hard to have much effect.
A second issue to consider is that the list of those who are eligible is made by sending letters to houses asking who lives there and is eligible to vote. There isn’t really any checking of the eligibility.