StringReplace["string", "" -> ""] or StringReplace["string", "" -> "", "" -> "", ... ] replaces the "" by "" whenever they appear as substrings of "string".
StringReplace goes through a string, testing substrings that start at each successive character position. On each substring, it tries in turn each of the transformation rules you have specified. If any of the rules apply, it replaces the substring, then continues to go through the string, starting at the character position after the end of the substring.
Delayed replacements of the form "s" :> expr can be given, so long as expr evaluates to a string every time the replacement is used.
Setting the option IgnoreCase -> True makes StringReplace treat lower- and upper-case letters as equivalent.
See The Mathematica Book: Section 2.7.2.
See also: Replace, StringReplacePart, StringPosition, ToLowerCase, ToUpperCase.