Distributed algorithms are the sub set of parallel algorithms. Parallel Algorithms or computing are classified for SIMD, MISD, and MIMD systems with shared and distributed memory architecture. However, distributed algorithms work with distributed memory
I'll try to answer in layman's terms (no guarantee of being formally correct).
Distribution has to do with where the computation physically resides. A distributed algorithm is executed on multiple CPUs, connected by networks, buses or any other data communication channel. Parallelism has to do with the fact that in the algorithm two or more flows of control may execute (even if only virtually) at the same time.
True (not virtual) parallelism requires distribution. But parallel algorithm may execute also on virtual machines realized on a single physical CPU.
A single program having two or more flows of control can execute at the same time. This is the concept of concurrent programming or programming using multiple threads. That is the reason for asking about the critical difference among these.
But I do agree with Mr. Manish Thakur about the classification for SIMD, ...