Should give you some basic ideas. For the logo or other important stuff, maybe hire someone to do it.
I think what's really difficult is developing an internal feedback loop so that you can critique your own work, and thus improve it. I simply don't have the sense that some poeple do, for instance, that one design is 'good' and another isn't.