Internal DSLs in Scala allows creating domain-specific languages within Scala by leveraging Scala's features like lightweight syntax, implicit conversions, by-name parameters, and advanced type system. The presentation provides examples of internal DSLs in Scala for tasks automation (Baysick), date/time manipulation (Time DSL), and message processing (Spring Integration DSL). It also recommends some books and links for further reading on implementing internal DSLs in Scala.