PDO com Singleton ? porque usar ou porque não usar ?

Boa Noite pessoal,

Estou com uma duvida bem cruel sobre usar ou não singleton para o PDO.

Vejo muitos sites no google explicando o que é e para que é mas quando vou usar sinto que não só fica estranho mas não entendo o porque usar e qual sua real utilidade.

Começei a desenvolver utilizando class no php a pouco tempo sou novato antigamente usava o mysql_connect() e etc…

estou usando esse codigo para gerenciar as conexões (se assim posso dizer gerenciar):

<?php
class Connection {

    public static $instance;

    private function __construct()
    {
    
    }
    /**
     * Retorna ou cria alguma conexão do banco de dados
     * @return PDO
     */
    public static function getInstance()
    {
        if ( !isset(self::$instance) )
        {
            self::$instance = new PDO('mysql:host=localhost;dbname=erp', 'root', '123456', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
            self::$instance->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            self::$instance->setAttribute(PDO::ATTR_ORACLE_NULLS, PDO::NULL_EMPTY_STRING);
        }
        return self::$instance;
    }
}

Deveria realmente usar ? e outra pergunta deveria usar singleton quando no projeto pois sei que tem outros usos mas nunca consigo entender quando usar.
Pois me acostumei a usar classes no php desata forma por exemplo:

$clientes = new Clientes();
$clientes->getClientList();

é interessante, porém o lugar mais interessant é em Java ainda pois mesmo mudando de janela ele não “cai” com a instanciação. Para ti é interessante se tiver mais de um new Classe() na página assim eliminaria eles.