During sprint development, there are some moments in time when one or more features will be merged and deployed to a test environment. When this version is released to the test environment, QA can start testing.
In some cases, it might happen that the feature, the developer is working on, is not fully specified yet and needs additional detailing. It might require a review by the PO, or the developer would like to show some stuff which he is working on. In this case, merging in the main branch is not an option.