useState phù hợp cho state đơn giản (boolean, string, number). useReducer cho state phức tạp có nhiều sub-values hoặc khi next state phụ thuộc previous state.
useReducer hay dùng cho form phức tạp, wizard multi-step, hoặc khi state logic cần tách riêng để test.