Why reducer is supposed to be better?

I am little new to this. Why use reducer supposed to be better if it decreases code readability and maintainibility.Or let me know what I am doing wrong.

const initialState = {
roomCount: 0,
adultCount: 0,
childCount: 0,
};

const roomCounterReducer = (state: CountState, action: CountAction) => { 
const { type, payload } = action;

switch (type) {
  case CountActionType?.INCREASE_ROOM_COUNT:
    if (state.roomCount < min_inv)
      return {
        ...state,
        roomCount:
          state.roomCount < min_inv
            ? state.roomCount + payload
            : state.roomCount,
      };

  case CountActionType?.DECREASE_ROOM_COUNT:
    return {
      ...state,
      roomCount:
        state.roomCount > 0 ? state.roomCount - payload : state.roomCount,
    };

  case CountActionType?.INCREASE_ADULT_COUNT:
    return {
      ...state,
      adultCount: state.adultCount + payload,
    };

  case CountActionType?.DECREASE_ADULT_COUNT:
    return {
      ...state,
      adultCount:
        state.adultCount > 0
          ? state.adultCount - payload
          : state.adultCount,
    };

  case CountActionType?.INCREASE_CHILD_COUNT:
    return {
      ...state,
      childCount: state.childCount + payload,
    };

  case CountActionType?.DECREASE_CHILD_COUNT:
    return {
      ...state,
      childCount:
        state.childCount > 0
          ? state.childCount - payload
          : state.childCount,
    };
  }
};

const [roomNumberState, dispatch] = useReducer( roomCounterReducer, initialState );