しにました vs なくなりました
Duolingo has the sentence
先週私の犬しにました。(Last week, my dog died.)
There are also sentences about grandparents passing away; there, they use なくなりました.
Is there a difference in nuance, similar to the use of "died" vs "passed away" in English? Would it be rude to use しにました for a person?
According to this answer on japanese.SE, your assumption is basically right.
「亡くなる」 (read 「なくなる」) is the most neutral word.
「死ぬ」 (「しぬ」) is a strong word that's rarely used for people, unless you want to deliberately offend. Maybe you've seen a phrase that's relatively common in (romance) manga: A teenage boy did something that embarrassed a teenage girl. The girl then yells something at him to the effect "You're the worst, die already!!!". I'd reckon that in Japanese the girl uses 「死ぬ」. The word can also be used to express stronger emphasis, or - as with Duolingo's exercise - for animals.
In addition, there's a third verb that means "to die". 「他界する」 (「たかいする」) is very polite and could be translated that a person "has left this world". This word would probably be used in TV news, in official speeches or the like.
This answer is right on the money. 「死ね」(the imperative "die") is just about the harshest, angriest thing you can say to someone in Japanese. Any time I've heard someone talk about someone dying in a polite way, they used 「亡くなる」.
Died vs passed away is a very good comparison. Another word for die, 死亡 (しぼう)する, is used in written language, news reports of deaths, and historical text.
死ぬ is also used in figurative expressions like 死ぬかと思った = I thought I was going to die (like English this can be used as hyperbole or literally), 死ぬほど腹が減った = so hungry I could die, etc. The other words for die are not used figuratively, in my experience.
Fun fact: in japan, some buildings will not have a 4th floor because 四 like 死 can be pronounced し.