Now, let me be clear up front that I'm not attempting any kind of argument of the form "their ideas have more problems than my ideas, therefore I'm right and they're wrong". Understanding reality is not a popularity contest. Religious people seem to think that belief in morals from a higher power is a solid and robust idea, and once you make that leap of belief your moral philosophy is now on stable ground. And this fact in itself is often used as an argument as to why that leap should be made; i.e. that morality without a higher power is baseless and inconsistent, but once you inject a higher power into the mix you solve all of those problems. What I hope to demonstrate is that making the leap of faith doesn't afford moral theory with the desired robustness, and so it can't be used as an argument in its favour. That pretty much leaves it with just the "because I want it to be true" argument, which is how I think it should be.
All cultures have moral systems
The key fact to recognize is that all known human cultures have moral systems of some sort. They all have differences, and an act can be considered moral in one culture and highly immoral in another, but no human culture is amoral. Now, it's worth pointing out that these differences are not totally relative and arbitrary, so that any act will be moral in some society. There is generally a system that is relatively consistent and makes sense when the particulars of the culture are understood. For example, infanticide is considered moral in some traditional cultures (though is much less common today as these cultures have more contact and interaction with outside cultures). However, you can't just go around killing any child in these cultures. It's a very specific case when mothers give birth to a child while the previous one is still too young, or if they give birth to twins. In these cases, it is done as a practical matter because the mother will not be able to support both (see The World Until Yesterday by Jared Diamond).
We have to ask the question of how all of these cultures got their moral systems, if morality comes from a higher power. Here are the options I can see:
God spoke to all of them
If we require a higher power to know what is right and wrong, then it must be the case that all human cultures have been spoken to by a higher power in order to know this. This would require that god chose to appear in a different form to every culture, and to give each of them a different moral system. If this were true, then there is no such thing as a single objective morality, unless you claim that he told the truth once and lied every other time.
Or you could possibly argue that he gave all cultures the same moral system, but those systems became corrupted over time. If this were the case, then how would you tell what the correct, original system was?
God spoke to one/some of them
If god only spoke to one group (or possibly a small number of groups), you may be able to get around the problem of god giving different moral systems to different groups of people. But this creates a much bigger problem, which is that all of those other groups must have developed their moral systems without a higher power. And this, of course, is the very thing that religious people are saying cannot be done. Unless they want to argue that everyone else is just fooling themselves and have baseless moral systems. This would mean that all other religions with their own moral systems are a massive lie, with only one group having moral truth based on an actual higher power. Many religious people seem to believe precisely this (though they are reluctant to state it explicitly given the massive hubris of such a belief), creating the problem of people from different religions all thinking that they are right and the others are wrong, but without having any good reason why that should be so, leaving the much more likely theory that they are all wrong.
God speaks to everyone in some ill defined way
Another option would be to say that god hasn't spoken to everyone in a direct "Moses on the mountain" kind of way, but rather in some more subtle way, such as somehow encoding morality into our souls, or something along those lines. I'm not sure if any religious people actually try to argue such a thing, but it seems the most obvious alternative for avoiding the problems of the previous two options.
If such a thing were the case, then it would open the question of what need there is for religion to explain morals? If they are already part of us in some way, we don't need to be taught or told them from an external source. You wouldn't need to practice or believe in any particular religion since you already 'know' the important parts. It would also raise the question of how you could prove such a thing. There would be no practical difference between morality being innate for evolutionary reasons and being innate in a soul, since souls are supernatural concepts not detectable by any scientific method.
So, let me reiterate that if morals come from a higher power, given that different cultures have different moral systems, it must be the case that either zero or one of those cultures actually practices a moral system from a higher power, or that god intentionally gives different moral systems to different cultures. In any of these cases, it is unclear how you can determine which is the 'true' moral system, making the 'higher power' explanation have little practical value.
Deriving new morals
If it is necessary to have a higher power to give us rules for right and wrong, then this implies that our moral system is to some degree arbitrary. That is, god could just as easily have chosen to make any rule different. If this were not true, e.g. if god could not have chosen to make stealing or murder moral, then there is something outside of god that defines morality, which would mean that a higher power is not necessary.
At a bare minimum, a moral system would need to have a basic set of axioms, all arbitrarily chosen by god, from which all other morals could be deduced. Do any religious moral systems actually have such a thing? I would bet that some may claim to have it, but I've never seen such a thing. There always seem to be moral questions that require some degree of judgement, usually provided by the wise elders of the given tradition. But, just like a scientific theory, unless they can show their working, the clear set of indisputable steps that led them to their moral conclusion, they are not working with a consistent system that is reducible to arbitrary, god-chosen axioms.
So, the question is, how does a god-based moral system deduce new morals? How do you determine the morality of a choice that was never covered explicitly by the moral code that the higher power gave? If god could choose any arbitrary answer for any moral question, then you can't know what he would have chosen in this new situation. And if a moral system is consistent and axiomatic, then how much choice did god actually have in creating it, and is he then actually necessary to explain it? Or, if a moral system is not consistent, then how can you justify making new moral deductions?
I hope that this post has given you some interesting food for thought, as these questions certainly have for me. Of course, I freely admit that I don't think a higher power is necessary to explain human morals, but by working through the implications of such a belief, it is possible to see that it is also not sufficient to explain the problem either, which is an important warning flag not to be dismissed lightly.
I look forward to feedback from others on this topic, since I know it's quite probably that I've made mistakes in my reasoning here, and maybe overlooked other options.