display: inline : Não é permitido definir um width e nem um height.
display: inline-block: Nos permite alinhar dois blocos, mas precisaremos de um "número mágico" o que acaba não sendo interessante.
float: left /right: Nos permite alinhar dois blocos, mas pode ser sobreposto por outro bloco.
display: flex: Independente das suas dimensões sempre será mantido um layout flexível dentro do seu elemento pai, e de acordo com a necessidade. Com isso não precisamos de um "número mágico".