Whilst Sebastian's answer is mostly true for this release, as Charles is checking all the changes in, it's not entirely accurate overall. I know that he's integrated changes that others have identified, both through the forums or core chats and also via code changes added to the issuetracker . In addition there are other changes such as dnn menu changes by Jon that will be part of this release.
Regarding releases, there are only a few trustees, who have commit access to the source, so changes typically go through them. When you see names such as Joe, Shaun, Nik, Steve Fabian,Jon or myself, we're often commiting changes from other core members/project members/community (the trustees and dnn corp are probably the set that would match your "Bus factor", so certainly not as small a set of people as linux) . In addition people work on larger tasks and present them for peer review during core chats, before adding them e.g. last week there was a presentation on proposed social networking changes, this week it's on workflow - these larger chunks of code are often worked on by people until they reach maturity and then added as a large block - not seeing peoples names in the issuelog doesn't mean they're not doing anything, in fact they might be heads down working on items requiring many days/weeks work. In addition many people have special interests and ensure that those areas are well handled e.g. Timo keeps us honest regarding xhtml/compliance, and the security team work on security issues.
For a long time no-one was remunerated for work, and we got on reasonably fine, though releases were often late due to resourcing. However as things have grown, enough revenue was generated to pay someone to keep things running on a day to day basis, ensuring that progress was not delayed as much through lack of resources/time (which is usual with an opensource project). Having Charles there means the board can give out tasks that can have (reasonably) accurate schedules - scheduling a group of unpaid volunteers with random availability is not fun for anyone.
With the recent funding, I believe there will be more resources, ensuring that the board can plan out more ambitious updates, which can be delivered within shorter timescales, and with a better likelyhood of meeting planned deadlines.
Also, please never forget that there are a large number of contributors who don't necessarily contribute code, but their work is just as valuable e.g. anyone who tests a release, anyone who contributes a language pack, anyone who logs issues (especially those who provide good reproduction steps or/and suggested code fixes), the people who keep the infrastructure running etc.
Regarding projects, the reason they're seperate is so that teams can run with autonomy, allowing them to maximise resources/opportunites i.e. avoid a pyramid model where all changes go through a small group (project teams have their own source code repositories). How the teams are run is up to the team lead - some run the projects by themselves, others have large groups. The board from time to time assess project teams and offer suggestions/make changes where necessary.
Anyway, as a quick aside, in my view it's the community that are the key success of opensource, rather than the core development team. I recently worked with another product, which while well written , I struggled with as their forums has only a few hundred posts, none of which were useful to me as a developer. It really brought it home to me how much I take these forums for granted, and how important they really are.