Variable variables are useful for different tasks, but they also can sacrifice readability, maintainablity, reusablilty, and scalability, etc. Often they're a poor substitute for other methods, most often arrays. That user note referred to has so many things wrong with it that it's laughable. But concerning only the use of variable variables, here's a better way to do what the person imagines his script would do:
In the form script:
echo '<input type="checkbox" name="choices[]" value="' . $products->name . '" />' . $products->name;
In the handler script:
$message = '';
foreach ($_POST['choices'] as $value) {
$message .= $value . '<br>';
}
echo $message;