Toffees should be individually wrapped in cellophane or waxed paper to maintain their shape. This recipe is easily doubled if you want to make extra gifts. For plain toffees, omit the nuts.
Coat a 9-by-13-inch baking pan that is at least 1 1/2 inches deep with cooking spray. Set aside. In a 2-quart saucepan, combine the cream and condensed milk; set aside.
In a heavy 3- to 4-quart saucepan, combine corn syrup, water, sugar, and salt. Cook, over high heat, stirring with a wooden spoon, until sugar is dissolved, about 5 minutes. Using a pastry brush dipped in water, brush away any sugar crystals on sides of pan to prevent recrystallization.
Stop stirring, reduce heat to medium, and bring to a boil. Cook without stirring until the temperature reaches the hard-ball stage on a candy thermometer (260 degrees), about 20 minutes. Meanwhile, cook the cream mixture over low heat until it is just warm. Do not boil. When the sugar mixture reaches 260 degrees, slowly stir in the butter and warmed cream mixture, keeping the mixture boiling at all times. Stirring constantly, cook over medium heat until the mixture reaches the firm-ball stage (248 degrees), about 15 minutes. Stir in the bourbon or vanilla and the nuts, if desired. Immediately pour into the prepared pan without scraping the pot. Let sit uncovered at room temperature for 24 hours without moving the pan.
To cut, spray a large cutting board generously with vegetable-oil spray. Unmold the toffee from the pan onto sprayed surface. Cut into pieces, and wrap each in cellophane or waxed paper. Store in an airtight container at room temperature for up to 1 month.