Really depends on their use. Both kinds of setups aren't easily upgradable, but have great form factors. If it's something they might want to be mobile so they can take it to the living room couch, to bed, on a trip, etc. then a laptop is the answer. If it's going to be on a desk then get the all in one for the larger screen and usually better specs.
I have a laptop at home since I tend to use it in different rooms. At my office I'm buying a bunch of all in ones for the compact form factor but they will be staying put on desks.
My husband installed a solid state drive into my HP laptop and it is remarkably fast and stable. He did this for a friend too. This is a long way of saying an all-in-one locks you in while a laptop gives you some upgrading choices. Note that all of them are hardwired for HP bloatware that I've found hard to remove. I've toyed with figuring out how to do a clean install of the operating system.