I’m not 100% sure I understand the question. The first selection of things you linked to looked like they were full of textures; you can definitely move textures and things around in shaders.
Babylon.js Node Material Editor (babylonjs.com)
More broadly speaking, you can do pretty much anything in shaders, but there are certain things that they’re good at and other things that they’re not. Shaders are (as far as I know) the most common example of massive parallelism, which makes them very well-suited for applications where outputs (pixels) can be computed without any direct reference to the outputs of other pixels. The more interdependent state there is, the more difficult it will be to get a shader to do this well. This is one of the reasons you see so many shiny, fluid, etc. mathematics-based shaders out there; sophisticated math functions can hold complex structure which can be evaluated at any point independently, so shaders and continuous functions are a match made in heaven. By contrast, the other sorts of things you mentioned tend to get the bulk of their structure from data, not arithmetic. Shaders are still useful for this, but it’s usually best to create/load/manage the data-based structure on the CPU side (because the CPU is comparatively good at problems ill-suited to parallelism) and then just hand that data over to the GPU so that shaders can treat it like a massively parallel problem. This, in fact, is one of the biggest things a 3D engine like Babylon does: use the CPU to characterize problems in such a way that shaders on the GPU can handle them efficiently to render your scene as fast as possible.
So, to sum up, you can do pretty much anything with shaders. If you want to go as fast as possible, though, shaders are often a great choice, but not always; and you’re dealing with data-based structure in your rendering, leveraging the strengths of both the CPU and the GPU is what will really give you the best possible performance.