There are many bus companies throughout Spain that offer good service. Generally public buses are of a high standard, well maintained, fairly cheap and offer extensive route systems. They are also a much cheaper option than the taxi. Service varies in quality, but buses are generally reliable and comfortable enough - especially for long distances, with prices pretty standard at around 10 Euros per 100km. Smoking is not allowed on any public transport in Spain.
There are regular bus services to Spain from all major centres in Europe, including Lisbon, London and Paris. Bear in mind, however, that on Sundays and public holidays, schedules are drastically reduced. You are best to avoid Travelling on these days.
Eurolines is one of the main international bus companies in Europe, you can travel all around the continent by bus, even go to Morocco with a bus that crosses the strait in a ferry.
All the big cities have an extensive bus network, but due to rush hour traffic it may not be the quickest way of getting around. It does however, provide the best view of the cities.