Drupal\migrate\Row now had methods to facilitate accessing both source and destination properties with the same method by using an @ symbol to prefix destination properties and using @@ to escape an actual @ symbol at the beginning of a property.
This behavior matches the behavior already in use by the Drupal\migrate\Plugin\migrate\processs\Get process plugin and follows the format expected in a migration process pipeline.
The current getSourceProperty and getDestinationProperty methods are useful in source or destination plugins where you know the name of the property and whether it is a source or destination property and you don't want to worry about prefixing or escaping it.
$source_name = $row->getSourceProperty('name');
vs.
$destination_name = $row->getDestinationProperty('name');
Both of these looks similar. The difference is that one pulls data out of the source plugin. The later from the destination.
The new Row::get method is most useful in process plugins to take a source or destination property name as a configuration value and access it in the process plugin. This allows the migration author to specify either a source or a @destination property using the same format as previously expected by the get plugin.
The same from above would look like:
$source_name = $row->get('name');
vs.
$destination_name = $row->get('@name');