I googled but found nothing satisfactory. What's their difference? What's the situation respectively to use one over the other?
In addition to the things allready said here: If you group layers together they have to stay together. There is no way to ungroup a layer between two grouped layers. You can do this with linked layers.
Here is one case I use linked layers for: When I am creating an new website layout and want it to have some fixed parts and some parts, that are scrolling along the side, I can link the scrolling parts together.
Usually I organize my layout in groups to collapse the parts I donâ€™t need and donâ€™t get overwhelmed by hundreds of layers. The basic groups could be Header, Content, Navigation, Sidebar and Footer. Lets say I want the header, the navigation and the footer to stay fixed, while the sidebar scrolls along the content, without loosing its relative position.
To group those elements together I would have to reorder my layergroups, but I can link them no matter what the order is. Now I can scroll my content and the sidebar will keep its relative position to the footer.
Layergroups do have a whole range of other purposes, but to list all the functions of layergroups is not the topic here, I think.
When you link layers, they can do 2 things at the same time. You can reposition the contents of linked layers simultaneously and you can use the rotate and transform tools simultaneously with the linked layers.
As with grouping; say normally with an adjustment layer, it will affect all the layers below it but by grouping this will limit the affect to certain layers below.
Also groups can be used for organisation, which is the main reason I use them when working with lots of different elements.