First and foremost, I hope everyone realizes that situations like this are becoming a regular occurrence in this industry every day. It is just another of a long list of problems that we deal with as airline pilots. It is times like these that really test your patience, and sometimes make you ask yourself why you are doing this job. I hope you can say, "Because I love what I do." If you answer that nagging question in the tough times in that way, then you'll pull through and be able to enjoy the good times. There are just as many good times as "bad." Even a "bad" time can be a good time if you approach it in the right way.
To do this job, you really need to love flying airplanes. To do this job and also be great at it, you need to love people. There are many flying jobs out there. It is important to remember that being an airline pilot is a customer service job that allows you to fly for a living, not the other way around. Our customers are our most important aspect of work, because they are the reason we get paid. It is our job to make sure they are safe, comfortable and happy with the travel experience.
Thing is, nowadays there are many external factors outside of our control as flight crew that are working against those three things we are trying to achieve with our customers. Weather delays, overcrowded airports, tough schedules, the TSA... it is all working against us. That just means it is more of a challenge to make the people on your airplane happy. You need to make the extra effort. You need to set yourself apart from the rest.
Most customers are accustomed to pilots who sit up on the flight deck, giving the "Ahh, folks, we just got an update..." PAs and never show their face. This means anything you do above and beyond this, you are already setting yourself apart from the rest. Simply getting out of the cockpit to make your PAs so your passengers see that you are sincere makes a difference. Walking down the aisle to talk to them and answer their questions, even better. Getting off your ass to hand out cups of water and attend to their needs while the airplane is just sitting there, well, they'll probably deal with a lot. They just want to see you care.
When I'm on a flight, I view each customer in back as a real person, and talk to them as such. Customers have strange questions, and usually ask the same ones, but if I can make them feel better about things, then I've succeeded. Some passengers just want to complain and vent, and that's fine. I complain and vent all the time to anyone who will listen (not to customers). Let them get it out of their system. I won't take it personal, because I didn't cause the problem. It was not my decision to implement a ground stop, or put a supercell thunderstorm three miles south of the airport. So I only worry about the things I can control. If I've done that--gone the extra mile--and they are still not happy, then there is really nothing I can do.
Just give them the straight dope. People are generally smart. They know when you are lying to them.
All that said, if things start to get really out of hand, it is your job as a Captain to take care of your people. If it means forcing yourself back into a gate, then so be it. The welfare and care of your customers on board that plane at that very moment is your utmost responsibility. I made a decision early on that whatever happens out there flying people around, I'll make sure the ones on board my airplane are taken care of and safe. If that means having to "walk the line" later with the Chief Pilot, then so be it. I care about my company and want us to succeed, and I also care about people and their well-being. With time, you'll realize those two concerns (company and people) really compliment each other, although from a simple glance it appears they do not. Keep your people happy and safe, and they'll come back, which is good for the company.