Yes, you have to pay for the following at the least.
Domain name (anywhere from $9USD upwards depending on domain extension)
Hosting (can be shared, VPS or dedicated server and runs from $10USD a month (decent shared) up to a few hundred USD a month)
Script (if Xenforo then $160 for the first year)
Then if you want a nice style you will usually have to pay for one, or find a free one that you can modify to what you want. Then you have any paid add-ons you may want later.