Explanation
When you use a formula to apply conditional formatting, the formula is evaluated relative to the active cell in the selection at the time the rule is created. So, in this case the formula =ISBLANK(B4) is evaluated for each cells in B4:G11. Because B4 is entered as a relative address, the address will be updated each time the formula is applied, and ISBLANK() is run on each cell in the range.
Empty vs. blank
The ISBLANK function only returns TRUE when cell are actually empty. If a cell contains a formula that returns an empty string ("") ISBLANK won't see these cells as blank, and won't return true, so they won't be highlighted. In this way, ISBLANK would be better thought of as "ISEMPTY" (Hat tip, Mike Girvin).
If you want to highlight cells that are blank and cells that just appear blank, you can use this formula instead:
=LEN(B4)=0
The LEN function returns the length of text as a number. A cell that contains an empty string ("") will also have a length of zero, so the formula will TRUE for both "blank" and "empty" cells.
Not blank
To conditionally format cells that are not blank, you can use a formula like this:
=NOT(ISBLANK(A1))
The NOT function reverses the logic.