Can I ask what is the main cause of the difficulty understanding the results in your opinion - we are always keen to improve the product so I'd be interested to know how we could enhance the ability to interpret the results for users.
Bottle necks are usually identified by looking at the most intensive path in the stack trace (having selected a region of time in the timeline) and looking where the majority of time is being spent along the 'Hot' path and looking at the lines of code responsible for slow methods. Alternatively, methods with a high hit count are also candidates for changing usually through finding ways to call a method less.
You can look at how a specific method is being used throughout your entire application (or time range) by creating a class reference graph for it and examining time being spent from all parent calls and calls to child methods.
The line level feature of course should also help identify the specific lines of code that are taking a large period of time. These should be shown up quite clearly in the code view with shortcuts on the right to jump to lines in a particular source file.
Switching between Wall Clock and CPU time may also help you in the analysis as excluding time spent waiting or including it can change how you interpret the results.
Hope this helps,