I presume you have read
this FAQ? You don't "need" to declare a particular class abstract, but there are occasions when you want a "place" in your inheritance hierarchy where you don't want anybody creating instances, or you might have methods which will have such variability that you want them abstract too.
Example
Now, some behaviour of buses and cars might be the same, some might be different, but you don't want any "Vehicle" objects. So you would probably declare Vehicle abstract. I think, you write the name of abstract classes in
italics in a UML diagram.