It's a way to better handle page specific css and javascript files. It gives you full control of which files are included and compiled where. This is a way to easily minimize the file request while still keeping out unnecessary stuff from the files, without you as a developer need to edit environment files.
guides.rubyonrails.org mentions a way to easily handle controller specific stylesheets and javascript files. Like:
javascript_include_tag params[:controller]
Sometimes that's not enough or it will break because of some gem you have installed, and that's when this method comes in handy.
Yes. You can instead of naming the files "_c" add each of them individually to the production.rb file and remove the regexp-thingy.
Sure. You could create a folder named e.g. "manifest" in your stylesheets folder and then have the pipeline to precompile all files in that directory. That might be prettier, but I extracted the current code from a project that was already bloated with files and I didn't feel to rewrite too much to get it working.. and now I'm too lazy to rewrite this solution.