runCommand vs testers.runCommand

I just learned about testers.runCommand and wonder why it is not widely used for tests – in contrast to runCommand. A quick grep for testers\.runCommand yielded a few results only:

❯ rg 'testers\.runCommand' -l | sort
doc/build-helpers/testers.chapter.md
pkgs/build-support/testers/test/default.nix
pkgs/build-support/testers/testEqualArrayOrMap/tests.nix
pkgs/by-name/br/bruno-cli/package.nix
pkgs/by-name/en/envision/package.nix
pkgs/by-name/ja/jam/package.nix
pkgs/by-name/pr/pre-commit/tests.nix
pkgs/by-name/st/stardust-xr-kiara/package.nix
pkgs/development/python-modules/bork/tests.nix
pkgs/development/python-modules/homf/tests.nix
pkgs/development/python-modules/wgpu-py/default.nix

What are the differences between the two? When should I choose over the other? Why is testers.runCommand used so rarely?

The differences are shown in the manual:

https://nixos.org/manual/nixpkgs/unstable/#tester-runCommand
https://nixos.org/manual/nixpkgs/unstable/#trivial-builder-runCommand

I presume the prevalence of the latter is due to familiarity.