Para adicionar a resposta de Eric e atualizá-la para Xcode 8 e Swift 3:
Um storyboard ID faz exatamente o que o nome indica: ele identifica. Apenas que identifica um controlador de visualização em um arquivo de storyboard. É como o storyboard sabe qual view controller é qual.
Agora, não se confunda com o nome. Um storyboard ID não identifica um 'storyboard'. Um storyboard, de acordo com a documentação da Apple, 'representa os controladores de visualização para toda ou parte da interface de usuário do seu aplicativo'. Então, quando você tem algo como a imagem abaixo, você tem um storyboard chamado Main.storyboard que tem dois controladores de visualização, cada um dos quais pode receber um ID de storyboard (seu ID no storyboard).
Você pode usar o ID do storyboard de um controlador de visualização para instanciar e retornar esse controlador de visualização. Você pode então manipulá-lo e apresentá-lo como quiser. Para usar o exemplo de Eric, digamos que você queira apresentar um controlador de visualização com o identificador 'MyViewController' quando um botão for pressionado, você faria desta forma:
@IBAction func buttonPressed(sender: Any) {
// Here is where we create an instance of our view controller. instantiateViewController(withIdentifier:) will create an instance of the view controller every time it is called. That means you could create another instance when another button is pressed, for example.
let vc = storyboard?.instantiateViewController(withIdentifier: "MyViewController") as! ViewController
present(vc, animated: true, completion: nil)
}
Observe as alterações na sintaxe.
self.storyboard