The difference is that with -ExpandProperty you get an array of strings that represent names whereas if you just use -Property you will get an array of custom objects that contain a name column.
Example:
$names = Get-ADComputer -filter * -searchbase "ou=a,dcdomain,dc=local" | select -expand name
foreach ($name in $names) {
Test-Connection $name
}
If you use just -Property name you would do:
$names = Get-ADComputer -filter * -searchbase "ou=a,dcdomain,dc=local" | select -property name
foreach ($name in $names) {
Test-Connection $name.name
}