As my board evolved so did my hosting. I started on a shared hosting account that allowed 20GB of bandwidth per month. We used that for a year. I then moved to a cheap dedicated host (Celeron CPU, 1GB of RAM) that worked for the next year. At that point we started experiencing issues (often had 100 or more concurrent sessions) so I moved to more robust server.
I currently pay for a dual CPU server with 4GB of RAM. The board pays for the server via advertising. Based on the numbers that I track (I capture the total number of active sessions to a database table every five minutes for monitoring purposes) I regularly support over 200 concurrent sessions and have on occasion had over 400 concurrent sessions. Note that these are not always users; when google comes to visit it spawns a couple of hundred sessions all by itself.
Upside of paying for a host? I don't lose sleep at night wondering if the hardware is up and running. The downside? I have to pay for it. But in my opinion, the amount I pay is appropriate given that I don't have to worry about keeping a connection up. When I have advertisers paying for banner space, the board needs to be up 24x7.
I briefly considered hosting myself. It didn't last long.
By moving to my current host before I needed to I gave myself room to grow. I expect that the current hardware I'm using will last for at least another year. At that point I'll set up a cluster with the database on one server and the web server / phpBB code on a second server. I look forward to the day when my board is busy enough to require that.