### Case #1

Observe:

    "anything" /. Plus[___] -> "match"

>     "match"

This is because `Plus[___]` evaluates to `___`, and `___` matches anything.  You can use `HoldPattern`:

    Sqrt[Plus[x, y]] /. HoldPattern[Plus[___]] -> u

>     Sqrt[u]

### Case #2

You must understand that pattern matching is done on something close to the `FullForm` of an expression, rather than the `StandardForm` output you normally see.  Let's look at your second problematic expression:

    a/Sqrt[x] // FullForm // HoldForm

>     Times[a,Power[x,Rational[-1,2]]]

As you can see, `Sqrt` is nowhere to be found.  If you need to match for things that *appear* as Radicals in StandardForm you can use the methods described here:

http://stackoverflow.com/q/5682963/618728