Try to relax - keep in mind that what babies need is love. As long as you love her, the rest WILL fall into place. Ask your husband not to be so hard on you, that you're trying your best. Don't let him compare you to other moms - and don't do that yourself, either. A lot of moms can look like they have everything together when just being viewed in a snapshot - you're not seeing the moment she loses it later that day. That being said, try to avoid saying things to him like "Well I guess you took the easy way out." That's not going to help. That puts him on the defensive, then anything you do is going to be criticized - when really he's probably just offended by what you said.
Try to take some time just your baby and you and spend a few afternoons together. Go spread out a blanket in the park and just hang out. Get to know each other on relaxed, fun terms when you're not stressed out. It's HARD to have a new baby - not everyone just bonds instantly. Babies are always going to give their mothers the hardest time - that's why we get the most credit later. :) Just hang in there. LOVE her. LOVE her. LOVE her. And keep her safe and fed. That's your only job. If your husband continues to act badly, you'll have to deal with that separately. But believe in yourself, give yourself a break, and don't treat him like an idiot either. I bet you things get better.
And as for me personally, if I had had my daughter first, I would likely have felt like the worst mother in the world. She's SO difficult!! And so wonderful, and beautiful and funny too. But MAN can she be a bear when she doesn't get her way or is overtired - my son was so easygoing that this was all new to me. So it sounds like you had my baby girl first - hang in there, you have a smart sassy girl!