The point of using conversations is so that you can do what you described above. Conversations give users the ability to navigate down more than one path at the same time by sharing conversation properties between all the paths but still keeping page contexts separate.
Its is 'like' when we have conversations with people: we introduce a subject, then we will move onto another subject without finishing the one we started, finally, whenever we want to--we go back to the first subject again and finish it. Seam lets you do what you want.
As for nesting conversations--I don't think it is supported yet, but there are plans to.
Difference between @DataModel and @Out.
Specifies that a component attribute is to be outjected to a context variable at the end of a component invocation.
Exposes an attribute of type List as a JSF DataModel into the conversation scope.
@Out saves a component of any type into a context variable and @DataModel saves a list for use in a JSF DataModel. You could save a @DataModel variable with th @Out annotation, but the @DataModel makes working with the common datatable more convenient.