Ages old question, but seems still valid and I can come up with a situation not described by other answers.
Consider that you have two packages A and B, A depends on a specific version of B.
Now, you are developing a new feature that unfortunately needs changes in both packages. What do you do? You want to pin A to the new version of B, but you are also actively modifying B so there is no known working version to pin at.
And somehow in this case, an editable installation of both A and B, ignoring that A -> B dependency, is the easiest way out.