With some tricks/creativity I don't think there are that many things that can't be done with PHP. On the KnowledgeBase wiki page and on this forum you can find much useful information to solving many problems. With the php_com_dotnet extension you can use COM and .NET libraries, and that is really powerful. There is nothing that prevents you to write most of your application in PHP and some portions of your application in C++ or Java when it's not possible to do it with PHP or when you need performance. For C++ integration
see this post. For Java
see the php documentation.
The major drawback I think is PHP's lack of unicode paths support. With PHP6 the problem is going to disappear, but for now it can cause some troubles. However it's a solvable problem. See:
See the Issue Tracker for things that are yet to be implemented in PHP Desktop:
As I earlier said if you know C++/Java then you can write portions of your code in it and integrate it with PHP. I think only some basic C++ knowledge would be enough to integrate many of the C++ libraries. However, if you only know PHP and don't want any mix of libraries and portions of code written in other languages in your application, then PHP functionality is limited on desktop. PHP was designed for Web and it's kind of a simple language compared to C++ or Java. If there is some desktop related problem then to solve it you will have to reach for some COM/.NET/C++ library and use it from PHP.
Integrating third party libraries through PHP is not the only way to go. PHP Desktop ships with Chrome and you could use
Pepper Plugins and
Native Client to integrate C/C++ code/libraries and use it directly from within Javascript. Though Native Client support is not yet officially supported/tested by CEF and the nacl plugin doesn't ship with PHP Desktop binaries, so some further research would be required.
By building PHP Desktop from sources you can integrate C++ libraries and expose the API to javascript, see cef/javascript_api.cpp.