"There is no perfect, painless silver bullet out there that solves everyone's problem, that gives everyone perfect health care for free. I wish there was," Obama said in a town hall meeting in Grand Junction, Colorado.
"I can't do it. Nobody can. What I can do is try to sort though what are all the options available, be realistic about where we're going on health care, say to myself if we keep on doing what we're doing, we're in a world of hurt."
If health care reform fails, Medicare and Medicaid risk going broke, state and federal budgets will be unsustainable, "and then we're going to have to make some really bad decisions where we have no good options," Obama said.
Obama's comments came in response to remarks from an audience member about the increasingly contentious tone the health care debate is taking, in Congress and in town hall meetings held by lawmakers around the country.
"Is it not time that something be done?" the man said.
In responding to the man's question, Obama also criticized opponents of health care overhaul, especially members of Congress who he said reduce the debate to scare tactics and mischaracterizations.
Updated: 10:14 p.m.
Related: Health care in America