Is there any difference[?]
Yes.
A non-nested class, even if in the same file, is an independent, top-level class. It has no special relationship to the file's eponymous class.
Nested classes can access the members of the class in which they're nested, and vice-versa. (If the nested class is static, it needs an instance of the outer class to access the instance's fields.)
Nested classes can be accessed by name from other compilation units. But typically only the eponymous top-level class can be accessed by name from other compilation units.
And more importantly, is there a legitimate use of this paradigm?
It supports backwards compatibility with files written in Java 1.0, before nested classes were introduced in version 1.1. That was about 20 years ago now. This case doesn't come up very often.
Other than that, I've personally never found need of it. The typical pattern is to put a class and its auxiliary classes in a single file.
References