elementary OS releases are made on a task-based cycle and not a time-based cycle. Releases basically happen like this:
Currently, elementary OS releases are built from Ubuntu repositories. At the beginning of the cycle, we choose a target repository to work from. For Loki, that repo is Ubuntu 16.04.
We set up a daily repository where we build our source code against that target repository. Sometimes things build straight away and sometimes builds fail because of things like changing APIs. We find the causes of the build failures and update our source code until everything compiles.
The next step is generate daily disk images with our repository and the target (Ubuntu 16.04) repository. We do this using a system called metapackage "Seeds". It's the same way Ubuntu is built and it's documented in pretty fine detail here: https://docs.google.com/document/d/1RPPF14h1Sw2gQjGTuZjUIlNHnGrafS8ekhFjJM9MT00/edit
This is where the real work finally begins. We start compiling a list of all the things we want to get done into a big list of bugs and blueprints that we call a "milestone". Many of these things are reported and requested to us by our users. So in this way, future releases of elementary OS are directly shaped by user feedback. The first milestone is called "Alpha 1". Alphas are unstable, internal releases for our development team to track their progress.
Depending on how we decide to do releases, we could have multiple alphas during this phase. There were some pretty big API breaks between Freya and Loki so we had a lot fewer individual package releases. We also made it a goal to reduce the time that this cycle would last since we got a lot of feedback that users wanted faster OS releases. So instead of having multiple Alpha milestones this cycle, we had just one.
We then created a milestone "Beta1" which would be the first public testing release of elementary OS. This release needs to represent a somewhat stable and feature complete product, so it needs to contain any serious known regressions or important features. When we release Beta1, it is for developers and testers to help us find any major regressions before we release the stable version of Loki (called GM or Grand Master). The Beta1 milestone represents a kind of "home stretch" where we wrap up big features and get the OS ready for translations, screenshots, and documentation.
Typically elementary OS has more than 1 beta as developers and testers help us find major issues that we might have missed in internal testing. Once we're confident we have a shippable product, there's one last milestone series: Release Candidate or "RC". This milestone is often very small, containing only a handful of minor cosmetic issues. It includes things like preparing our release notes and changing the wallpaper to the new default as well as switching from our unstable daily repository to our stable repository that only contains released software.
RC's often come out just days apart and are the last chance to find any last-minute show-stopping issues. Once an RC is released that the team is happy with, that ISO file gets promoted to "GM". We upload it to our CDN, make copies available to press, and set the release date for Loki.