Imagine it visually. Say you have four philosophers and each has a chopstick between them.
All four grab their left chopsticks at once. This is okay, as everyone has a chopstick and nobody is competing for one.
Then they look to the right, there are no chopsticks left, because everyone has one of the four.
They can't eat, so they get deadlocked.
If you code it so after some time they give up and put down their chopsticks, you come across the same problem, as everyone tries to pick up the left chopstick and there are no right chopsticks left (timing can cause this to not happen, but it is better to code for it).
Instead, you should pick a philosopher, and have him pick up his right chopstick first. This breaks the deadlock, as either the right-chopstick philosopher or the philosopher to his left will succeed in getting both chopsticks and being able to eat (which will circle around and feed everyone eventually).