A lot of people struggle to put a price on their own work. The logic usually goes like this: 100 hours * $75 per hour = $7500. Then comes the part with the client arguing about hours and how there's no way this project can take that long.
If you have to justify your costs, you're not selling the right thing. You shouldn't be selling the time your putting into a project, but the value your creating for your client.
If a client asks you to build a simple website that's going to drive thousands of dollars into his business every year, is it fair that you only get paid in the low thousands? You say that you have to charge low, otherwise he's going to go with that other guy? Fine, let him go there and get what he pays for, you don't want to win a race to the bottom.
By allowing yourself to charge for the value provided, you get the tools to ask the questions and challenge the client so that you can build the product your client needs, not the one he wants. You get more money and the client is happier, win-win. That's the thinking behind Breaking the Time Barrier, a must-read if you're in the business of selling your services.
I often hear about people being surprised that simple website costs in the low thousands. If you're not willing to pay that price, you don't really need a website and a simple Facebook page, Squarespace or Wix website is probably better suited anyway. To understand why a website costs "so much", I strongly recommend reading Inside the Black Box of Web Design Pricing.
If your trying to put a price tag on a piece of software, I suggest you take a look at Don't Just Roll the Dice by Neil Davidson