1. Explain what this bit of code is supposed to match...
2. A rewrite cannot rewrite https to https. "https to https" implies two URLs. A rewrite matches a URL request to an internal filepath inside the server. The protocol only has meaning in a URL out there on the web. It has no meaning in file paths inside the server.
3. A redirect redirects requests for one URL to another URL. In that case, both items do have an associated protocol. A RewriteRule with the [R] flag creates a redirect.