First, we will consider what each term entails by considering the underlying concepts for both: concentration gradient and energy required. When a concentration gradient is established across a membrane, we have different concentrations of solute on each side. In terms of whether energy is required to perform a process, we consider whether we need to "pump" molecules to have them flow in the direction we desire.
Now, let's consider both processes in terms of these concepts.
Diffusion is a passive process that requires no energy, and molecules flow down their concentration gradient, meaning from areas of high concentration to areas of low concentration. Diffusion requires no special channels in a membrane to achieve its action. A good example here is the flow of small lipids across cell membranes or watching a drop of dye diffuse in a glass of water.
Primary active transport is pretty much the opposite of diffusion, where molecular transport requires energy and special transporting channels, usually from ATP. Molecular flow is usually directed up the concentration gradient, going from areas of low concentration to areas of high concentration. The most commonly cited example of this process in the human body is the Na/K transporter that pumps sodium out of and potassium into the cell simultaneously. Here, you can see the only similarity between this process and diffusion is that they both involve the transport of material!
However, there is a different type of active transport, called secondary active transport, that uses diffusion to achieve its goal of transporting solutes up their concentration gradient. Here, a pump like the Na/K pump causes a paucity of solute, like sodium, inside a cell. Another channel that uses no energy brings in sodium via passive transport (diffusion with a special channel), creating a cycle. This other channel is often a synporter, where the solute is brought in with a different solute or molecule. For example, in your intestines, the Na/K pump brings sodium out of the cell, while a Na/glucose synporter brings sodium back in down its concentration gradient with glucose tagging along against its own concentration gradient.
Secondary active transport is the only form of transport that has a similarity with diffusion in that it uses a solute running down its concentration gradient to achieve its goal. However, it does require energy input, and another solute is still going up its concentration gradient!
They both transport molecules across membranes, and they require transport proteins to move through.