Użycie czasowników modalnych (devoir, pouvoir itd) to dosyć delikatny problem. Istnieje zasada, że jeżeli czynność, którą musiałeś/aś (chciałeś/aś itd) zrobić i rzeczywiście ją zrobiłeś/aś, to używamy passé compose; jeśli czynność ta jednak nie nastąpiła - wóczas imparfait np.
J'ai dû le faire (et je l'ai fait!!!) - Musiałem to zrobić (i zrobiłem!), ale
Je devais le faire (et je ne l'ai fait pas!) - Musiałem to zrobić (ale nie zrobiłem).
Zasada ta (tak przynajmniej zaobserwowałem) jest często lekceważona i najczęściej Francuzi używają imparfait.
Zaś co do musiałbym/ powinienem, to ja osobiście nie dostrzegam dużej różnicy semantycznej. Dla mnie to synonimy. Z drugiej strony, porównując do angielskiego must i have to (może stąd wynikają Twoje wątpliwości), to również we francuskim należy rozróżnić "przymus" wynikający z wewnętrznej potrzeby mówiącego (będący uwarunkowany jakimiś wewnętrznymi uwarunkowaniami) i taki, który jest narzucany z zewnątrz. I tak w pierwszym przypadku użyjemy "devoir", a w drugim - konstrukcji z "il faut" np.:
Je devrais le faire - Musiałbym to zrobić (bo to wynika z mojej wewnętrznej potrzeby)
Il faudrait que je le fasse - Musiałbym/ Trzeba by było, abym to zrobił (bo ktoś mi każe, bo to jest przez kogoś/ coś narzucone)
Mam nadzieję, że nie zamieszałem :)
Pozdrawiam