A pixel is comprised of tiny balls full of black ink suspended in white fluid, and how black the pixel looks depends on what percentage of the balls are near the top of the fluid. For a black pixel they're ideally all at the top and for a white pixel at the bottom. If only some of them are at the top, or many of them are floating halfway down, etc., the pixel may appear to be some shade of grey. You might think of the floating balls as subpixels.
The balls get to the top or bottom by having an appropriate charge applied to each cell. However, each cell might be influenced by its neighbors as well as the applied charge. To the extent the balls are attracted to charge on a neighboring cell (horizontally) rather than its own cell (vertically) they won't wind up in the intended place. If a cell is changing from black to white and all its neighbors are also, it will transition more completely than if some neighbors are staying black or are going the other direction. This is where ghosting comes from.
The solution is to drive the entire screen white-black-white (or similar) so that no cell has a problem from neighboring cells, and then apply the desired screen image. Every screen write starts with a screen that has been wiped clean so there is no afterimage of the previous screen.