Pourquoi utiliser un ReentrantLock si on peut utiliser synchronisé (ceci)?

J'essaie de comprendre ce qui rend le verrouillage de la concurrence si important si l'on peut l'utiliser synchronized (this). Dans le code factice ci-dessous, je peux faire soit: synchronisé la méthode entière ou synchroniser la zone vulnérable ( synchronized(this){...}) OU verrouillez la zone de...