Your friends seem to have it backwards regardless of which does a better job of enhancing the grain. Oil is supposed to be applied to clean bare wood so that it can soak into it. If a film finish whether it is shellac, varnish, lacquer, or whatnot is applied then the wood is essentially sealed and the oil would only sit on top of the film finish and not really contribute any useful purpose.
The results of using oil or a film finish depends a lot on the species of wood and whether or not it has any figure. It also depends on what type of oil used or what type of film finish. I think that everybody has their personal preferences for what they like to use for various species of wood.
Sometimes an oil finish will make wood look drab and murky and other times it does wonders. Shellac seems to be excellent for bringing out the figure in wood and is sometimes used as a first coat before applying a varnish finish. The reason is that shellac does a slightly better job of enhancing grain than varnish does. It also adds a nice warm amber glow to the wood.
If using shellac before varnish, it is advisable to dewax the shellac by filtration before applying it. I use super blonde shellac flakes which are supposedly dewaxed, but I still find it necessary to do my own dewaxing by filtering before using it.