I don’t quite understand your doubt, but I think this answer might help you find a way.
It’s nice to have this thirst for new technologies, but you don’t have to go around using everything that’s trendy just because it seems like everybody uses it, which is cool, and which they say is "right" to use. Tools exist to solve a problem. If you don’t have the problem they solve, there is no reason to want the tool! Why buy a screwdriver if what you need is to saw a board?
So you say you want to use CSS preprocessors, and you’ve even chosen SASS. Great, start there! Study SASS and test, see how it works. Want to use this to customize Bootstrap? Right, so that’s the next step. Mastering SASS minimally, search Bootstrap and understand how to customize it with this preprocessor.
Very good. So you have a project using Bootstrap and SASS, and you’re working on it (alone or as a team, it doesn’t matter). Opened in the browser, it’s working. But you want to change the color of a font. You change the file .sass
corresponding (either from bootstrap or another in your project), run SASS to generate CSS and reload the page. Great, it worked! However, it’s a bit repetitive to do this every time you change the look. If you’re tampering with a system in production, it’s probably even more laborious, as it may be necessary to minify and concatenate all Csss into one. And we’re not even dealing with JS, just CSS!
This is where tools come in to help you in the process. In this case, it would be the Grunt or a similar tool, which serves to automate and sequence tasks. You create an instruction package, run a command, and that’s it, all the tasks are executed, in the right order for you, including updating the browser and copying the final files to the production server (either via git, ftp, rsync or other methods).
About Bower, it’s a package manager, it’s for something else. I don’t know if you’ve used npm, which is the package manager of Node.js. Bower does the same thing as npm, but the packages are front-end components, not Node modules (by the way Bowser requires Node to work, and is installed via npm). It is useful for projects where you use multiple libraries/frameworks at the same time, and want to keep them up to date. If any of these components depend on others, Bower manages it for you, too. You list libraries in a configuration file, and Bower takes care of fetching and downloading/installing updates when it runs. Therefore, Bower is not used to concatenate or minify JS or CSS. There are other tools for this. And there’s Grunt and other similar tools to automate the use of this entire arsenal.
But it does not cost to repeat what I said at the beginning: look for the right tools to solve each problem. While you don’t have the problem, you don’t need the tool to fix it! Learn languages and tools one step at a time as each is needed. Trying to learn and use everything at once only has a good chance of getting in your way more than helping.