I ended up recieving a response to a similar question directly from Igor Pavlov in the 7-Zip forums, in SourceForge, so I thought that the response might be useful to others if I reproduce it here.
1) .lzma file format uses simple header, it supports only LZMA method,
and it supports only one file per archive. It doesn't store file name.
2) .7z file format uses complex headers, it supports different methods
(including LZMA), and it supports big number of files in archive.
- lzma.exe works only with .lzma files
- 7zr.exe supports .7z files and .lzma files.
lzma.exe and 7z.exe use different default settings for LZMA
(dictionary size and other). So you see the difference in compression
ratio. If you set same settings for LZMA, the difference will be
smaller.
Igor Pavlov in Sourceforge forums