Bill pay adds several middlemen. Before there was each party’s bank and the postal service. Now there’s the bank’s bill pay department which is sometimes contracted out. The actual printing and mailing of the check is usually contracted out. The bill pay service sometimes tries to be smart about binding an address to a name and sometimes autocorrects to the wrong address. Finally checks always have human error on the part of the two meat bags that are the payer and payee (threw out envelope or let it fall off their table and under a couch).
That's the last-ditch method for making sure they can pay anyone. My bank lets me pay anyone via online bill pay, some of whom have registered with the bank in a manner that allows fast transfers, and some of whom get mailed a check that may take up to 5 days to arrive.