When you do it online they have some sort of risk estimation thing where you provide (if I remember correctly) a credit card and a phone number. When I completed mine online, it said I was instantly verified, but for my wife it said additional in-person verification was required. I suspect it's because she changed her name when we got married and whatever online identity service they use has a combination of her old and new names.
Their system is quite picky about address formatting (they ask to do a small transaction; you billing address better match the address USPS has for you exactly, stuff like RD vs road matters).
I ended up changing my billing address in my bank to exactly match what USPS wanted. Which worked, and was fine, but did leave me wondering what would prevent someone else from doing that with their own bank account if they wanted to change my address for some weird reason.
That's a combination of the human part of the USPS, plus automated validation/correction routines.
To the human part: If you send a letter to a residence; and only include a street address plus 5-digit Zip code, or a street address plus city/state without a Zip code; that's enough to get the letter through. The envelope might be scanned at the originating point, and the image sent to a human for review, or the letter might make it to a post office at/near the destination, and a human will take it.
Sticking with the "rd" / "road" example: When the bank goes to mail something to you, I wouldn't be surprised if they run the address through a validation program. That validation program would catch things like "rd", replace it with the appropriate term, and also generate the Zip+4 code. What's missing is feedback from that program. So the bank might continue to have "rd" in your address, even though it's wrong.
As it happens, the USPS actually has an online form for this service [0]. For instance, if I query "1600 pennsylvania avenue" in Washington, DC, then I get the full two-line address back on page 2, complete with the Zip+4 code:
1600 PENNSYLVANIA AVE NW
WASHINGTON DC 20500-0005
I've used this tool before to double-check some more wonky addresses before sending mail to them. I'd be surprised if they don't also offer an API for the service.
This works wonderful until the site tries to force the suggestion on you and your address is somehow wonky in the system like not existing at all or under a wrong or mis-ordered apartment number.