When to use nodes to create textures ?

Sometimes we have to create materials for our models but after I watched a video tutorial on Youtube about this tip many questions came in my mind. More precisely, the video’s name was “How to make rust in Blender” of Blender Guru. The guy used a mixture of nodes and images etc to create rust. He used a lot of nodes and at a certain time, I lost myself. I followed a tutorial last year to create a stone with moss and it used Photoshop to create the textures ( image textures and normal ones)and the nodes in Blender to define the glossiness and other aspects of the material. With this approach, I find that someone would learn to create texture to use not only for Blender but even with other 3D software in future.
The same guy of Blender Guru made a tutorial to define the procedural texture of an orange, I was following step by step, but a certain time my pc fan lost its control and I was afraid that that one would have flown away and would have killed someone in my house. Seriously, In my scene, there was only an orange with less than 200 polys and my ( expansive) computer started to slow down.
I have an i7 7th Gen, 16 GB of RAM and a 1050 Ti GPU. I know that It’s not the best machine in the world, however, it’s powerful and can be used by a Blender hobbyist user.
If from a side, creating textures with nodes would improve the time to create textures, from the other hand it slows down the rendering time. I’m not an expert texture artist and I’m a beginner in this field so I don’t know much about it.
I want to learn more about texture, but I think that by doing it only with nodes would be slower and applicable only in Blender. I think that textures and materials should be created in different ways: textures with Photoshop/Gimp and materials with nodes, am I wrong?

Both types of texturing - procedural and image based - have their strengths and weaknesses.
One main difference between those is a bit like the difference between raster and vector images: A vector operates completely independent of image resolution, while the raster will get blocky when zooming in. So, whenever you intend to do a close up shot of your model, any image texture would have to have a gargantuan resolution (which will lead to very high use of memory) - and even that might not suffice to keep up the image quality. A procedural texture on the other hand has infinite resolution and is calculated at render time to therefore be always crisp and sharp. Yes, that needs computational time, but the memory usage will most likely be rather minimal. And in times of GPU computing, VRAM often is the first thing to be in short supply.

In addition to that procedural textures are “endless”, so you don’t run into repetition or tiling issues. Some of them (not sure if it is all) are even “3D” and can therefore be used to create variations in volumes. They don’t require uv mapping and can be created without having to shoot and optimize photos yourself or running into copyright issues with images taken from the web.

And if you need the procedural texture in a format to be used in another 3D app, you can always bake them to an image texture (thereby losing all of its procedural benefits, of course).

However, image textures have advantages, too.
Texture creation with images often takes much less time (you already mentioned the complexity of some node networks for advanced procedural textures yourself) and there are many types of textures out there (especially “natural” ones), which are hard to reproduce procedurally (even more so with the very limited set of procedurals offered by Blender).

So all depends on how close the objects will be to the camera?

No. That’s a rather coarse shortening of what I wrote. It depends on what you want to use the texture for and whether you want to profit from the benefits of the one or the other.