Почему многие ругаются на flex и float? Что в таком случае использовать?
Встречаю много
Да, в интернетах много чего встречается.
Если бы эти "статьи" не были полное давно, вы бы не задали здесь этот вопрос.
Знаете, почему?
Потому что в нормальных источниках было бы написано
1. Не юзайте то, потому что ....
2.  Юзайте вместо того это.
В хороших статьях ещё и будут описаны плюсы и минусы как того, так и этого.
Сейчас актуален Flex.
Ранее был актуален float (сегодня можно использовать через гриды типа Susy).
Через несколько лет будут везде поддерживаться CSS Grids.
Так что верстайте через Flex. Однако, его обязательно тестировать во всех браузерах. Т.к. например в IE и Safari может глючить свойство min-height.