The best way to reply this question is to provide an informative explanation on what each method does and then use your own best judgement as to when you should use each one.
Trimming to roof has the following implications:
As the name suggests, you can only use roofs to trim;
It will make a permanent cut to your wall, undoable by selecting the wall and clicking on the 'Undo Roof Trim' button, under the Model tab;
In this regard, the cut is 'static' - if the roof changes position or pitch, or the wall moves, the trim will have to be cancelled and redone;
The plus side is that after trimming to a roof, you can delete the roof permanently and the trim will remain.
Solid Element Operations (Subtraction with Upwards Extrusion) has the following implications:
You can 'trim' anything to anything. ie a wall to a roof, a slab from a mesh, or a blender from a beam
;
Once 'trimmed' there remains a relationship between the wall(s) & roof(s). So that if the roof changes position or pitch, or the wall moves, the trim will always update itself. However if you delete the roof, the relationship will be deleted too, and the 'trim' will disappear. (The solution here is to put the roof on a hidden layer if you don't want to see it.)
I prefer the SEO method usually. An important thing to note is to perform operations as you need them. For example I wouldn't recommend selecting all the walls in your project in one go and SEO'ing the from all the roofs! This is a lot for the program to remember!
Cheers,
Link.