The main advantage is that it helps to preserve backward binary compatibility of libraries, but this isn't very helpful for applications. So I would say that you can use it in an application, if:
- you want to implement data sharing (although pimpl goes a bit further than that),
- you want to reduce the compilation time (especially if you don't want to recompile half of your application only because you moved some part of the code to a private method),
- or, finally, you expect that a part of your code might be turned into a library and you don't want to code things twice.