replace() xóa Fragment hiện tại và thêm Fragment mới vào chỗ đó — khi back thì Fragment bị replace sẽ được tạo lại. add() giữ Fragment hiện có và chồng Fragment mới lên trên — khi back thì quay về Fragment cũ.
Dùng replace() để điều hướng giữa các màn hình, còn add() cho overlay như dialog hay bottom sheet.