Make sure the butter is completely at room temperature before beginning.
Put the butter in a stand mixer fitted with the whisk attachment and whip on high for 5 full minutes, scraping down the sides of the bowl every minute or so. The whipped butter should be glossy and pale in color.
Turn the mixer down to medium speed and drizzle in ⅓ of the condensed milk very slowly and gradually - whip until totally incorporated.
Repeat until all the condensed milk is added.
Whip on high speed for 1 minute until the buttercream becomes thick, glossy, and shiny. If it isn't, see the troubleshooting guide above.
Add vanilla and salt and any other flavorings you wish to add, then whip until incorporated.
Notes
It is so important that the butter is at the right temperature. If it's too cold it won't emulsify properly, and if it's too warm the frosting will be soupy. If this happens, don't start over - see my section in the blog post above about troubleshooting.