Olá, Bruno, veja o que o site MDN Web Docs traz sobre isso (trechos omitidos):
"Desenhando formas com canvas:
O primeiro passo para criar um caminho é chamar o beginPath().
A segunda etapa é chamar os métodos que realmente especificam os caminhos a serem desenhados .
O terceiro, e um passo opcional, é chamar closePath(). Este método tenta fechar a forma desenhando uma linha reta do ponto atual para o início.
Nota: Quando você chama fill(), todas as formas abertas são fechadas automaticamente, assim você não precisa chamar closePath(). Isso não acontece quando você chamar stroke(). "
Para saber mais: https://developer.mozilla.org/pt-BR/docs/Web/API/Canvas_API/Tutorial/Drawing_shapes
Espero ter ajudado. Bons estudos!