Суть на практике
Зависит от контекста: в строке, в блоке, как фон.
img.hero {
display: block;
margin-inline: auto;
max-width: 100%;
}
.wrap {
display: flex;
justify-content: center;
align-items: center;
}
.cover {
background: url(a.jpg) center / cover no-repeat;
}
Для inline/inline-block иногда хватает text-align: center на родителе.
Итог
Самые частые ответы на собесе: margin: auto для block-img и Flex/Grid для произвольного центрирования.