From my experience it is common for a group of developers co-working on some feature to share codebase very often.
Also in an actively developed project there are likely to be many new commits every single day, and you want to be up to date with remote codebase to ease the pain of merging your features into it.
If you rebase your work onto master often you'll greatly speed up the release of your feature when it is ready. You'll also avoid late surprises when something you depend on elsewhere in codebase change.
You can also notify your co-workers about inconsistencies between developed features and detect incompatibilities early.
It also works in macro scale - projects released often with small changes shorten the feedback loop and can be adjust properly for their requirements.
"When working on a project you usually synchronize your code by pulling it several times a day."
Do you? Am I alone in thinking that seems like a really bizarre workflow?