I am working on a checkout flow and wonder how to handle an existing customer who has faced a password issue and decided to check out as a guest. When entering an existing email in the guest fields, should the system display an error message acknowledging that their email is already registered, or let them go through the guest flow?
It depends. In most cases, like for consumable items, you'd let them go through the guest checkout flow, because the login/password reset process is interfering with their goal to finish checkout. If you make it too frustrating, or if they don't have time, they might abandon the checkout. Also, it's not a good practice from a security standpoint to easily tell bad actors whether an email exists in a database already, or not.
An exception that I'd think of is if having this item not attached to their account would cause problems later on. An example would be a software license key - they might need to come back a year later and renew it, and it might need to be attached to more information to avoid someone else taking over the account. In that case, I wouldn't even offer guest checkout - make everyone authenticate before they can proceed.