[Wikipedia states](https://en.wikipedia.org/wiki/%C5%AC#cite_ref-2) that

> It is thought that ŭ was created by analogy with the Belarusian letter ў (Cyrillic u with breve), which was proposed by P.A. Bessonov in 1870.

Virtually the same is stated with more certainty in the corresponding [Vikipedio entry](https://eo.wikipedia.org/wiki/%C5%AC):

> Ŭ estas invento de Zamenhof, modifo de U pere de Cirila signeto, la hoketo (aŭ "luneto" aŭ "duonarko").

I doubt that more concrete sources have survived.

As per why use a different accent to start with, I think the quick answer is that the purpose is different: the *luneto* converts the vowel into a semivowel while the *ĉapelo* changes the sound. One could in principle extend the effect of the former to other vowels to represent diphtongs that are not present in Esperanto using its orthography. (With Ŭ alone ŭo and oŭ are examples of this.)

On a side note, why reuse (the accent of) a Cyrillic letter for ŭ and not reuse the existing Latin symbols č, š for ĉ, ŝ eludes me.