This is more a theoretical question. Let's say you have the following table:
(ID, FirstName, LastName, Street, ZIP, Country)
ID is primary key
Then it is possible that you have two or more people with the same name living at the same address. So when you query for them by firstname, lastname, streetm zip and country, you get several results. Which makes sense, because it may happen that in a large building, two people of the same name live.
How would you delete a person from that table, if its ID is used elsewhere as a foreign key? Wouldn't it be impossible? You have no way of telling, which of the two "Steven Smith ABC Blvd. 2 1111 USA" is the one you want...?
EDIT: A little clearer:
Let's say, in the table above, I have two customers with the same name and address, so only dinstinct in their primary key. Their ID is used in other tables as foreign keys, so I cant just delete one customer and say "right, now I still have a Steve Smith living at ..." because the other Steve Smith is referenced in other tables.
How would you delete the first Steve Smith correctly?