I have a valid US B1/B2 visa under my maiden name on a separate passport. I understand that I am allowed to travel for business purposes provided I carry both my passports and my original marriage certificate. My question is what name should my tickets be booked under? My legal (married name) or maiden name?
You should book your flights under the same name as the passport you will be using to board the flight. If you have a new passport with your new name, then you should use your new name to book your tickets.
We've been in this exact same situation before: when we got married, my wife had her USA B1/B2 visa in her passport with her maiden name in it. Later, she obtained a new passport with her new name on it - and the old passport was cancelled and returned to her. The next time we travelled to the USA, she used her new passport (with her new name) to book tickets - and took her old passport and our marriage certificate with her.
When entering the USA, she presented all three things to the border agent - and got through without any issues.