Nothing wrong with Tru-oil, I just haven't had any on hand in 25 years or so, my dad used it on grips and gave me some to try. I was making furniture then so I would buy oil by the gallon and stuck with Waterlox because it was easier to source in quantity. The two products were similar in properties and ease of use, and presumably still are.
Both are wiping varnishes more than oils. That is, they are an oil and a resin, with solvents and driers for modifying application and drying properties. As I understand it, Tru-oil uses linseed oil and urethane resin, Waterlox uses tung oil and phenolic resin. The solvents and driers are probably about the same between them. I recall Waterlox being a thinner product - which is good in ease of application and not so good in that more coats are required for the same effect compared to a less thinned product. If you're on the clock, that can be inconvenient. The nice thing about wiping varnishes is that they are so easy to use and so easy to repair. The worst thing is that they tend to cure in the can if you don't re-bottle them into smaller containers (this is Waterlox's biggest fault, I've never had a bottle of Tru-oil long enough to find out if it does the same).
Shellac is a much harder finish, but is also easy to renew. Like the wiping varnishes, all that is really needed is a quick swipe of a rag wetted with the finish and it looks great again. Its probably the most difficult one to get a high gloss on without polishing, but fortunately it is compatible with the others so you can overcoat with a wipe of a wiping varnish for an easy gloss appearance. Doing so means you have to renew using that same overcoat rather than a wipe of shellac though.
Shellac is arguably less waterproof, due to its hardness - hard finishes tend to crack a bit as wood expands and contracts with varying humidity, and the cracks allow liquid moisture in - water vapor getting in is inevitable, no finish does more than slow it down. If there are any visible cracks in an old shellac finish, they should be easily repaired with a coat of thin shellac (like a 1/2 pound cut) followed by overcoating with a heavier cut for appearance. Never had to try that myself though so that's a bit theoretical. Shellac (button shellac in particular) is the easiest one to store - the dry product keeps well and you just mix as needed. No worries about keeping the air out of a partial can of oil.
All three make great finishes for gunstocks, easy to use, easy to maintain. Like different loads for the same gun, it's handy to have lots of options to choose from when it comes to finishing.