Its big difference is the ability to delegate to an ExpressionVisitor, indeed it is often used just for this purpose in GeoServer. If you like I can leave this deprecated so we have an opportunity to combine with DefaultFilterVisitor.