Although I'm a beginner to domaining, I have a decent amount of experience developing sites for various different purposes and with various different features. Like Abdullah said, your costs come down more to exactly WHAT you need the site to DO (and also what you don't need it to do), than WHO the site is for.
At an absolute minimum, you would obviously need the domain name, so whatever the reg fee and the yearly renewal fees are for that.
Then for actually making the site - if you want to be super-cheap and want a very basic style of site for free (which I wouldn't necessarily recommend), I've actually used Weebly.com before - it's drag-and-drop. It works on a "freemium" model. The free version has "Powered by Weebly" at the bottom of your site, so that part won't look particularly professional. There are other free website builders out there(Wix, webs.com, etc), but Weebly is probably the best of the bunch in terms of features, number of pages, etc. The free versions of any of these don't usually let you keep all (if any) of your Adsense money, so if Adsense monetization is your strategy I would avoid these. Free website builders are also a lot more limited in what you can do with them in general than if you had your own site at a paid hosting company. However if cost is an issue and all you want is a landing page type of a site with a logo and just a few pages to show people what the site could look like, this is an option. I wouldn't recommend it particularly though. I would never use the paid versions of Weebly/Wix etc - for the same price you can get your site hosted at a hosting company and have a lot more control over things.
I recommend hosting your site at a paid web host. There are plenty of them out there, and as to which one is best is a whole other question. You should get a hosting package that comes with cPanel and Softaculous to make it easy to install your choice of CMS (content management system). For starting purposes you should be able to get hosting for just one site at under $5 per month (e.g. at Bluehost and a few others), or hosting for multiple sites for under $10 per month if you set them up as add-on domains (shop around web hosts for pricing). Pick a reputable web host with good customer service.
What CMS to use will depend on the needs of that particular site, not just whether it is personal/business/non-profit. Wordpress (by which I mean the one described at Wordpress.org, not .com) has a lot of support out there so it's very popular, but natively it works more as a blog and less as a business-style website - although certainly there are Wordpress themes that are designed to work for business websites by directing you to pages instead of blog posts. Still, the whole structure of Wordpress is not really DESIGNED to work like that. Other than Wordpress, the CMS's Joomla and Drupal are popular but they have a sharper learning curve - I've actually never used them (yet!). Wordpress is extremely well served in terms of themes, security, add-ons (which they call plug-ins) etc. After paying the hosting cost you can make your entire site for free if you want on any of these CMS's. But if you want a paid or premium theme (or a paid/premium plugin) then obviously that will cost. Costs vary greatly. Example: there is the premium upgrade of a free Wordpress theme that I'm planning on buying for $7, but that's relatively cheap - most paid/premium themes you're looking at $40 and up, sometimes well over $100.
So I can't really give you a fixed idea of cost because it varies so much. Your web host, if you shop around, you should be able to get you a decent hosting package to begin with for under $10 a month for whatever site(s) you develop. The rest of it, the site design etc all comes down to whether you want to a) do it yourself - which you could do 100% for free if you had to or b) have a developer do it for you if you need it really customized or you don't want to do it yourself - that could be pricey.
As you can see, the costs there could vary tremendously - even doing it yourself you might decide you really need a feature that you need to pay to add onto your site. Certainly if you are going to be having an online store or accepting payments on your site for any reason, the cost jumps up because you'll need to install SSL on that domain or subdomain with your web host, typically around $40 per year extra with a reputable host and reputable SSL certificate. If you're not handling any sensitive/personal information then you won't need the extra cost or hassle of SSL.
I hope this helps, I know it sounds confusing, but if you're thinking of developing a bunch of sites I would simply suggest starting with a basic hosting package and 1 site at a time until you have more of a feel for it. As you go along with each site, you'll have more of an idea for how you want to set up your next sites.