Всегда ли методу нужны скобки?
Как по мне скобки дают четкое понятие что это метод и вот сейчас он вызывается.
Не всегда. Скобки нужны чтобы вызвать метод.
s = 'HELLO'
print(s.lower)
print(s.lower())
<built-in method lower of str object at 0x7fd8f2702530>
hello

Скобки не нужны, если функцию передавать в качестве параметра.