Git push implicitly pushes to your work to a remote repository, with the assumption that it already exists. By default, this remote repository is the origin.
Git push is commonly used for pushing your local changes to your public upstream repository. Now, if we assume that the upstream is a remote named “origin” (the default remote name if your repository is a clone) and the branch to be updated to/from is named “master” (the default branch name), the pushing can be done as:
git push origin master
Git push usage:
git push <remote> <branch>
git push <remote> --force
git push <remote> --all
git push <remote> --tags
For more details check this link.
In the case of git push origin, it explicitly specifies to be pushed into a repository called origin.
Git push origin is usually used only where there are multiple remote repositories and you want to specify which remote repository should be used for the push.
For a git push origin command: git push command updates remote references using local references by sending objects necessary to complete the given references.
Simply, we can say that git push command updates the remote repository with local commits. And origin represents a remote name where the user wants to push the changes. To understand this command in more detail, I would suggest you go through this link.
Here is a video that helps you in understaing git,