Is there any out of box functionality in tridion which can provide auditing for any cms change like item created/updated etc. or workflow approved/rejected. Though i know for cms items there is versioning in tridion but it will only tell who has changed and when also i will have to manually open every component history.
There is no reporting available in SDL Tridion what so ever, but that shouldn't stop you from creating your own. Since SDL Tridion comes with a very rich API and extensibility features which will allow you to record all sorts of information and display it in any form or shape you like.
Take for instance a look at the Tridion 2011 Reporting project which was started by a couple of MVPs in 2012. This comes with an event handler which will track all kinds of data and store it in a NoSQL database for easy retrieval. On top of that database you could build your own reporting module which can show you the data you need.
SDL Tridion comes with two very important out of the box functionalities related to Auditing.
Process Histories: This feature is enabled by default and will allow you to archive process instances so that you can come back and see which were the steps and statuses for your the process instance you are looking for.
Audit Snapshots: This feature needs to be enabled while your are saving your process history (from the Visio Plug In or via the API). This feature will take snapshots of your workflow items (component / pages) so that you can compare and see how your items were changing between steps (activities) in your process instance / history.