Here are my thoughts for what they're worth.

If you hire contractors, it becomes really difficult. Do you know who to hire? You can't just say "I will pay X for you to make Y" and then assume you're good to go for several reasons. First, there are many flaky contractors out there. Since you don't know that much about programming, you wouldn't be able to determine who is a good programmer and who isn't. Likewise, with programs the devil's in the details. That means that, if you aren't paying much, you might get what your spec is, but won't get the details that make it something worth while.

In terms of what to pay them, it's a hard question. Sometimes quality and price run in tandem, but as I've mentioned, if you aren't so much a programmer, you aren't going to be a good filter there. You kinda have to pay by the hour which is crappy because it means that you don't know what the bill will be, but the other way means that you either pay way more than it's worth or you try to skimp and end up getting a developer that quits a month and a half later leaving you just where you started.

And, well, good programmers have better options than being used as cogs. If you were to hire me, I'd want to be a partner in the venture. And I don't mean in terms of the money even. I'd want to be an equal socially - that we respected each other's opinion, liked bouncing ideas off each other, enjoyed being in the same space working, and meshed like that. That contrasts to many arrangements where someone sees themselves as the "vision" person who is so uber-important and then there's some programmer who's a glorified translator who doesn't have the intelligence and vision to be like you. You don't sound like that type and that's wonderful. And project management and prioritization and all that detail work takes a lot of time and you can do that.

--

That brings me to another point. Ideas are cheap. Everyone has ideas. Few can execute. When I used to freelance, I'd get people coming to me with ideas all the time. None were that original (I remember one person pitching an idea of "MySpace, but for bands" seeming not to realize that MySpace is already for bands). Facebook didn't become big because they had an idea for a social network. Many had tried before. Facebook became big because their implementation (from the layout of the pages, to the features added, to the annoyances removed, to the architecture that was fast and didn't fail often) worked well. Heck, Gmail is so loved simply because of implementation. Email was a very well defined and well adopted system. Google just made it fast, a joy to use and reliable.

And you can help out somewhat with the implementation in terms of layout, design, and features, but ultimately you need someone really smart at implementing solutions if you want something good.

--

Right now, I'd go with #1. Keep learning at least enough that you can filter programmer abilities. Until you can tell a good programmer from someone who talks a good game, you should learn. It's easy for someone to say that they know OO PHP, but most people who say something like that can't tell me what a reference is. It won't eat up too much time and you might find that your learning curve hockey sticks and you don't need outside help.

If you do need outside help, you'll be better equipped to get good outside help rather than being stranded with someone crappy. YC (and other similar programs) are good, but work best when you have a partner. If you're going to take on a partner, make sure they're who you want to be working with and don't be too proud to put them on an equal footing. You don't want someone who is an inferior programmer and the good programmers want a nice happy relationship, not something that feels like a business deal that they're on the short end of. And really, when businesses succeed and people like each other in the business, money is plentiful enough that you'll be happy you enjoy the people you're working with rather than dreading dealing with them.

Good things usually don't come out of negativity. If you want to create something great, you have to treat people like they're great. Then you get the best people, they do the best work, and everyone is happy. I'm not saying you have to give someone more than their due, just that if you decide you're going to hire a programmer for $10/hr you'll get what you pay for - they'll resist the work, make crap, and be of low ability.

Good Luck!