When two windows "touch" each other. "fill window" will resize to the maximum size of the screen, thereby creating an overlap. On an empty desktop I open 2 terminals, xfwm places one below the other. Now I use "fill window" in the bottom one - it then fills the entire screen. Ok, next I kill the terminal and open a new one. This time I make sure the two terminals have some space in between them -- a line the thickness of a few pixels is enough. "Fill window" again and voila, the bottom one is filled up like it should and only the bottom half of the screen is filled with it. Nothing overlaps.
That on purpose, it will fill until it reaches another adjacent window. If it's already touching another window, it will go over.