Why would apply_filters return a non-empty string, when the value returned is empty?

The problem is in the theme you’re using. This has been reported before:

https://core.trac.wordpress.org/ticket/21430

Seems that Elegant Themes don’t like their widgets to not have titles. So they have a function called “et_widget_force_title” which changes blank titles into titles with a single space.

In case of doubt, always try disabling plugins and switching to the default theme. You never can tell what other plugins or themes are doing.