Imagine the following code:
# Script Start
$WelcomeMessage = \"Hello $UserName, today is $($Date.DayOfWeek)\"
..
..
# 100 lines of other functions and what
Embedding variables into strings is not the only way to create dynamic text, the way I would do it is like this:
$WelcomeMessage = 'Hello {0}, today is {1}'
# 100 lines of other functions and what not...
function Greet-User
{
$Username = Get-UserNameFromSomewhereFancy
$Date = Get-DateFromSomewhereFancy
$WelcomeMessage -f $Username, $Date
}