If you can't get pin back in with the chain tool, is rust or grit an issue? If my chains get too grimy, I soak them overnight in simple green mixed with water to get the rust off, then scrub off all the old grease and dirt, then let them dry and reapply lube. This does, of course, require removing the chain.
Generally, chains need to be replaced only if they are stretched out to the point that they will wear down the chainrings and cogs - there is a fairly inexpensive tool that can be used to check this - and if they are stretched out, it absolutely is worth replacing them, a new chain is much cheaper than a new cassette.
I think a bike shop would probably just try to sell you a new chain, rather than messing around with trying to fix a stuck link. So, if you don't want to spend the money, keep trying with your chain tool, or see if a good cleaning helps. Also, you could probably take the stuck link out of your chain all together and reattach it - a chain that's one link shorter would probably be fine as long as your bike has a derailleur.