If a cell is blank, and then used in an arithmetic expression, it will be treated as 0. So if B is blank, it will always be < TODAY().
You cannot use A and B in this formula. You must use cell references, like A1 and B1.
I also think your boolean logic is a bit challenged. You are using an IF function, but only returning a value when the condition is TRUE. FALSE will be returned by default in the FALSE case, which is probably OK for conditional formatting. In any case, for conditional formatting it is usually better to use a boolean expression that just evaluates to TRUE or FALSE without wrapping an IF around it.
I don't know if A and B have formulas that return blanks, or are simply empty. If a cell has a formula that returns a blank, like
=IF(Z9>4,"","")
then ISBLANK will be FALSE, even though the cell looks blank.
Please try this formula:
Bookmarks