your understanding is correct. this is to generate Comma separate value for a list of time.
When FOR XML is used this mean generate the related data in XML.
PATH is a simpler way to define XML element and attributes.
for details please refer
FOR XML Path(SQL Server)
So when we use use string concatenation
SELECT N', ' + Name , this means FOR XML will roll up all the values and consider it a single node.
Following code
".value('text()[1]','nvarchar(max)')"
will considered the node value which text()[1] of data type nvarchar(max). you can also use nvarchar(4000).
Consider the following example:
select
(Select ', ' + TABLE_NAME
from INFORMATION_SCHEMA.TABLES
FOR XML PATH(''),TYPE).value('text()[1]','nvarchar(4000)')
Hope it help.