what is the difference between duration 1 days and 0 days?

what is the difference between duration 1 days and 0 days?

I'm not sure I understand what the difference is between 0 and 1 days duration. When using dependencies, my expectation was that I could assign some tasks with a 0 day duration and they would/could be due on the same day. But when I tried that by assigning a dependency to a task with the same date, but a 0 day duration, I couldn't do it and got a conflict error message.