I have the same problem when it comes to buying electronics. I've missed out on having a smart phone because I'm always waiting for the next iteration, or for my current contract to run out. It's an endless cycle of not buying.
What helps me break this cycle is to have specific monthly amount budgeted towards something I would otherwise have a hard time buying. If I put $100/mo towards my "dream X fund", then I won't feel this internal guilt when I finally buy X.