what is the difference between diffusion and Brownian motion ?
The Brownian motion is the stochastic motion of the molecules. As given by the kinetic molecular theory, the direction of motion of molecules is random. The speed is governed by the temperature, which is a measure of kinetic energy of the system.
Diffusion is statistical phenomenon one observes, due to the Brownian motion. The random movement of molecules ensures that a molecule will travel from its starting place, in what's called a "random walk" pattern. The statistics come in when you observe the molecules in large numbers. Imagine a drop of dye in water: it is first localized in a small area, and then diffuses outwards, even assuming the energy input into the system from injecting the dye is zero. Each dye molecule travels in a random direction, and since there exist many more microstates (the possible positions where the dye molecule can be) than a localized spot of dye, it diffuses. This is the idea of entropy. In short - it is very improbable for randomly moving dye molecules to suddenly aggregate back into a single, localized spot, therefore diffusion occurs.