You’re right. The fight over money is only a part of a much larger issue that you two aren’t addressing. You two haven’t figured out how to be a team. Look at all you two are dealing with: Your son needs surgery. Your wife, in truth, can’t work if she is to take care of your son. You have money stress. You are far from home which leaves the daily decisions and child-rearing to a woman who sounds overwhelmed. A sick or injured child stresses even the best of relationships, never mind a relationship that is already in trouble.
I have no idea what the reality of your financial situation is so I can’t really be helpful there. It could be that your wife is being irresponsible. It could be that she is using shopping as a way to comfort herself. It could also be that you don’t have a realistic idea about how much money it takes to run your family. I do know that fighting over money is distracting both of you from far more scary and serious issues — like fidelity, your child’s medical issues, parenting, and managing the stress of deployment.
You two need serious help. The central issue is how to become a team so you can be the kind of parents your children deserve to have. Stop fighting and start talking. Really talking. Put aside the blame game. You’re both at fault. Get some help learning how to communicate and how to deal with differences of opinion without being destructive. If you aren’t getting home soon, see if your wife can arrange for a therapist to work with the two of you via Skype. Encourage her to see a therapist — not because she is the crazy one but because she can more easily get that kind of support. Meanwhile, see your chaplain about what kind of help you can get wherever you are.
Even more important than putting cash in the bank is investing in your relationship. Whether or not you two make a good marriage, you will both be parenting your children for many, many years. Creating a good working relationship now will make that go well for everyone.
I wish you well.