In LINKTOFILTEREDVIEW(), you are not defining a row but rather filter criteria for a set of rows. This allows you to use the same view for many different sets of rows.
LINKTOVIEW() will just use ALL rows as defined by the datasource attached to the view
If LINKTOFILTEREDVIEW() DIDN’T exist, you can achieve the same thing by creating several Slices to filter the rows (e.g. Slice for Math rows, Slice for English rows, etc) and then a dedicated View for each of those Slices. Then you would use LINKTOVIEW() to go to the desired View.
BUT each of these views would be the same in structure. In other words, if you had 10 subjects, you would need 10 Slices, 11 Views and 11 different LINKTOVIEW() calls (11 to account for ALL).
Much more tedious than a couple LINKTOFILTEREDVIEW() calls.
I hope this explains it.
By the way:
LINKTOFILTEREDVIEW(“My Filtered View” , true)
is the same as
LINKTOVIEW(“My Filtered View”)