Syed,
As you already know the definition of a detail object, it just helps the users and developers to put it in a different category.
Let's take an example, many companies store's a customer information like First Name, Last Name, Address Line 1, Address Line2, City, ZipCode etc.
If you see the above attributes all the attributes are important if you want to send some thing like an item or a letter to the customer address, that is perfectly fine. But in Analytical world, you don't analyze information by Address Line1 or Address Line2 etc. It does not provide any advantage except to use only to ship some item or mail a letter to the customer.
So attributes like address line1 and address line2 can be created as detail objects. Also, remember detail objects are those objects on which you don't want to drill up or down.
Hope its clear.