The main difference between -cat and -text is that text detects the encoding of the file and decodes it to plain text whenever possible whereas cat doesnt do it.
for eg take the example of this lzo compressed file.
using text:
hadoop fs -text hdfs://namenode:8020/user/hive/warehouse/database/000000_0.lzo_deflate
1,bye
2,back
3,baz
4,hey
5,country
using cat:
hadoop fs -cat hdfs://namenode:8020/user/hive/warehouse/database/000000_0.lzo_deflate
ίiW3�I���2�IJ,�2�U\&:�99�\�:��E9)\֙��"
dfs -get command is used to copy files to local-filesystem.