its a very common problem, its due to the catches getting oiled up and then gunking up with road muck.
best to keep them really clean, no
prices for replacement cables isnt too much(stealership prices are about £35 for both).
Your local independent garage can open it for a few quid, its got to be done from underneath(on a ramp), in order to reach up through the engine bay and grab the bonnet release cables behind the radiator.
bonnet catches will probably need to be checked and de-gunked, shouldn't cost much to replace them, (though new prices are 35-50 each)
I did replace mine as they were buckled slightly, from having the bonnet slammed down to hard and they had started to come apart.
you just have to make sure the cables are all clipped back into thier correct clips along the bottom of the top crossmember.