Is delay() necessary in loop()?

Sometimes you need a short delay - Analog Reads need a slight delay between reading any 2 analog pins. You can achieve this with Delay, or by having some other code between the 2 analog reads. Unless you need the delay yuo don't have to put them in, the 328 is still running just as fast, doing just as much work whether you put the delay in or leave it out. If you put the delay in iot is just running ful speed processing the delay. If you leave it out the 328 is running at full speed executing your code. Either way the processor is doing the same amount of work and it doesn' t see any difference because that is all it does - execute code.