Perforce is an incredibly powerful and flexible centralized source control management system whose support is second to none (not that you'll need it that often). Their development teams are always improving the existing core of the tool in addition to adding new features and support for elements such as security, distributed SCM, and many others. Surrounding the main Helix software are a plethora of equally well developed and maintained satellite services such as Git support (GitSwarm), team collaboration (Swarm), visual merge tools (p4 merge), etc. As to their reliability and scalability, you need only look to the companies who have trusted their source to Perforce to understand its capabilities in this arena, and I will mention again the first rate support you receive with the tool, I have experienced none better. Perforce is extremely stable tool as well, and once it is set up and running as required, it will faithfully continue to run without any fuss or muss.
As the sole (part time) admin of an 834 user system I have found myself wanting for greater granularity in the delegation of certain administrative functionality to trusted development team leaders. Perforce is adding these functions as the tool moves forward (currently running server version 2015.2 as of this writing) which will help me with this, but as of right now, this is a small pain point for me. Another difficulty that can be experienced, especially if migrating from a non-branch based SCM tool, is the learning curve for the use of client workspaces and proper branch policy. This is not an issue with the Perforce service itself, but it is a more powerful (and hence more complicated in some aspects) tool which may require more effort in initial training with the tool and its concepts. Well worth the effort however.
If you are looking for an enterprise grade, highly scalable and expertly supported centralized source control management tool, Perforce is the best there is. If decentralized SCM is preferable or then Git is a great option as well, but know that Perforce also support DSCM capabilities as well, along with excellent integration with Git repositories, again with excellent support.
We migrated off of Microsoft Visual SourceSafe in order to make user of the concurrent checkout and branching abilities of Perforce. This was back in 2007. The benefits however extended far beyond the core benefits that the system provided us. Whereas in VSS most development was performed against the main trunk of development (development occurred on mainline in Perforce parlance), we could begin to practice stable mainline procedures within Perforce where development would take place in development branches and once vetted through a build and QA system, promoted to mainline once deemed stable. The "copy up, merge down" process allowed us to further ensure the integrity of our mainline and allowed for development branches to catch up with mainline when it changed.
We have not implemented Streams because they do not currently fit into our use of the system, but provide yet more ability to enforce process on the movement of code and maintaining the correct hierarchy of codelines.
The various tools that come with Perforce out of the box such as the Merge tool, Revision graphing, stream graphing, distributed source control, Time Lapse Vies, etc are also a boon for developers as it allows them to track down where modifications to a file were received from, and by whom.
It has also allowed us to improve our resilience through the use of replication servers, proxies, and in the future Edge servers (where remote sites can hold their own set of metadata [database] files while still syncing source to the primary server). Our checkpoints can happen nightly against the replica server, leaving the master server online to continue to serve users non-stop.
And of course, I'll mention for a third time the Support team at Perforce, which is absolutely fantastic.