So this is the deal:
the first digit (50-52) is the milestone number. It is increased on every release which happens roughly every ~6 weeks.
It works ike a shift register. At any point in time, there is one "stable" milestone, one "beta" one "dev" (and the daily canaries). On the release they (almost) shift: beta becomes stable etc.
The second digit: never seen that being !0 in my life :)
The third digit: is the branch number. This is really the most important thing in chrome. Almost every day a "release tentative branch" is cut from master (the only chrome development branch). Most of those branches are dropped silently. Some of them will become elected as the branch point for the dev -> beta -> stable train.
In essence the branch number N is the Nth ~daily snapshot of the "master" branch of the chromium codebase.
The fourth digit: is the branch-build number. When we cut the beta branch the first time it was 51.0.2704.0. What happens is that the code branched from master is never perfect. Sometimes some CL don't make it to the branch, or we just need to make bug fixes there. So what happens is that developers will cherry-pick changes on that 2704 branch. Every now and then a bot takes those changes and spins a new build. That increases the monotonic build number.
You can have a feeling of what happens looking at the git logs like this:
The build bots pin the state of the subprojects and generate a new manifest with a new build ID (all those "Incrementing VERSION to 50.0.2661.XX " commits)
So 52.0.2723.0, 52.0.2723.1... 52.0.2723.3 are all valid releases that contain different code.