In Scrum, if the requirements are gather throughout the software development life cycle (SDLC), then when and how can you perform MoSCoW prioritization?
Scrum asks for an ordered backlog, not just a prioritized one.
MoSCow can help you to do a course grain prioritization, but you need an ordering for a Scrum backlog. You could use MoSCoW to help you define an MVP but you will ultimately need to sort your backlog as Scrum would suggest.
Using MoSCoW long term in Scrum doesn't make sense because the scope is constantly adjusted. For example, yesterday's shoulds will become today's musts.
How you define the categories/prioritization levels is difficult; you don't truly know what a must actually is until you try it on your customer.