There are loads of companies that offer webhosting services. We distinguish between dedicated webhosting (you have a server on your own at the datacentre), virtual private server (VPS) (a server is partitioned to virtual private servers through VMWare, Xen or other) and shared webhosting (you share the server, you get your own virtual host in Apache).
The most affordable of the three is shared webhosting and prices start at around 20 euros per year for facilities that allow you to run your own WordPress blog.
To run your own WordPress blog, you need
- Apache (Linux, etc but preferably not Windows)
- mysql database
- ability to upload files (typically FTP upload)
- mod_rewrite is preferable
- safe_mod off for PHP is preferable
- disk space at least 20MB for WordPress
- monthly bandwidth at least 2GB (for typical non-mainstream blog)
It is important that the webhosting provider allows you to administer your webhosting options and offer a tool like cPanel.
Normally you do not get shell access. In some cases you do, as long as you provide a photo ID.
Normally you do not get a backup option as it tends to be complicated to apply. For a WordPress blog, the typical changes are applied in the mysql database so there are no files that change over time (apart from plugin installation). Therefore, it is good to have a way to backup your mysql database. You could use phpmyadmin to backup your database, however it is more suitable to use something like the WordPress Database Backup plugin.
If you have recommendations for webhosting, post them as comments.