Diferencia entre el parámetro de tipo acotado y el comodín de límite superior

Sé que ya se publicó una pregunta similar, aunque creo que la mía es algo diferente ...

Supongamos que tiene dos métodos:

// Bounded type parameter
private static <T extends Number> void processList(List<T> someList) {

}

// Upper bound wildcard
private static void processList2(List<? extends Number> someList) {
    // ...
}

Hasta donde yo sé, ambos métodos aceptan argumentos, que sonList&nbsp;de tipoNumber&nbsp;oList&nbsp;desubtipo&nbsp;deNumber.

Pero, ¿cuál es la diferencia entre los dos métodos después de todo?