А разница? Если написать реальный пример где <Button/> начинает пропсы принимать, то будет сразу все видно. И даже let: лучше
ну в баттон пропсы можно передать кучей способов, можно их насильно туда инлайнить через cloneElement, можно заворачивать в контекст, можно рендерпропсом, можно передавать конструктор компонента. Как будет угодно =)