Everyone has these moments in life - just that some people deal with them better than others. It's a skill you learn, often taught by example. No one has showed them to you. That's all.
I think you need to get your mind off yourself and all your problems- take a break from yourself. It's seems like a downward spiral that just isn't serving you very well. This has worked for me when I feel the whole world is caving in - long walks in nature with fresh air, somewhere beautiful where I can just forget for a while. - Take the focus away from yourself, get a pet, get out of the house, do something physical, take care of some plants, grow something and give them as gifts to your friends, take a yoga class. Don't sit and brood - that is the worst thing you can do. Your mental state is directly connected to how you feel physically so movement, dance, stretching always makes you feel better. I think your intellect is working overtime to make you unhappy. All the shoulds, have to, I gottas, are digging your grave. Just let go for 10 minutes each day - it just puts everything in clear perspective. Then you can go about correcting what is not working for you and start making things better without the emotional baggage clouding and distorting your mind.
I don't think your problems are dire. You just think they are because you have a set way of looking and judging things. This may sound a bit cliche but I have been with people in India who had absolutely nothing, lived on practically nothing yet still were happy; they just accepted their situation and made the best of things. Granted we don't live in India but the lessons are the same.
Take this outpouring of love from all of us to heart. I hope some of my experiences and discoveries can help you. Don't let your emotions destroy you - be kind to yourself.
Boy I hope this didn't sound too Dr. Phil. It's all coming from the right place I guess.