Concentration is the number one factor that determines whether or not a substance moves across a semipermeable membrane. Diffusion of molecules across the membrane occurs in the direction of higher concentration to lower concentration (we say this direction is “down the concentration gradient”). Osmosis is simply the diffusion of water across a membrane - again from high to low concentration.
In order to move against the concentration gradient (from low to high concentration), particles must undergo active transport. During active transport, molecules are transported across the membrane via carrier proteins. This form of transportation requires the use of energy in the form of ATP (adenine triphosphate).
Size is another factor that affects the movement of molecules across a semipermeable membrane. Sometimes molecules are moving down the concentration gradient but are too large to fit through the spaces between the lipid bilayer. These molecules undergo what is called facilitated diffusion. During facilitated diffusion, a carrier protein is used but energy is not.
Charged particles also cannot diffuse across by themselves and also require a carrier.
Diffusion, osmosis and facilitated diffusion are known as passive transport because they do not require the cell to use energy.