Brotzeit is regional for a mid-day meal (10am-5pm?), with Imbiss and Vesper other alternatives. Those three can also be "taken with you" ("eine Brotzeit/einen Imbiss/eine Vesper mitnehmen") when leaving your house to be consumed during (e.g.) a day trip.
I don't think Abendbrot is regional, it's an evening meal where bread with toppings/fillings is probably the main component, whereas Abendessen is probably something hot.
In my personal usage, I would say Abendessen and Snack.
Abendbrot sounds like something a 60+ year old would call it.
I haven't heard it called Brotzeit since I was in elementary school in Bavaria, so that overlaps with the sibling responses.
Personally, when I hear "Imbiss", a kiosk that sells food is the primary thing that comes to mind. As in, you can get a hot dog with fries there.
It's not unusual for some German families to eat their main meal late in the afternoon or evening, when everyone is home. So they might prefer to call it Abendessen since they're not just having bread and toppings but a proper hot meal.