Supponi di avere questa query:

$user = $_POST['user'];
$sql = "SELECT pwd FROM users WHERE user='$user'";

Ma un utente scrive:
'; DELETE FROM users WHERE 1 OR '

Il valore di $sql diventerà:

SELECT pwd FROM users WHERE user=''; DELETE FROM users WHERE 1 OR ''

La prima query non trova niente.
La seconda ha una where che è sempre vera (grazie a 1) e quindi cancella tutte le righe di users.
Si chiama SQL injection: nella tua SELECT è stata "iniettata" una pericolosissima DELETE!

Ma se sostituisci ' con '' diventa:

SELECT pwd FROM users WHERE user='''; DELETE FROM users WHERE 1 OR '''

che non trova niente ma è innocua.