I noticed there are specific flavors of sonarscanner such as for Gradle, .Net, Maven, Jenkins etc… and then there is the CLI - SonarScanner | SonarQube Docs
Can i use the CLI for any type of programming languages/frameworks? will it work the same as the targeted builds?
You can use the CLI for almost any language (not .NET stuff). The specialized scanners are built to grab analysis configuration from the build environment to save you configuration. For instance, for a Maven project you only need to do mvn clean build sonar:sonar without (usually) providing any analysis. With the CLI, you have to provide it all.