I think the quote should be changed every day. I have explored the code a little and it seems that on every page load the query GET_RANDOM_QUOTE is executed (you can find it in Custom tables app -> edit nPlus Quote table -> Queries tab). If there already is a quote with "LastUsedDate" field set to current date in the custom table, this quote is displayed in the web part. Otherwise, some other quote is selected using following condition: DATEDIFF(dd, LastUsedDate, @CurrentDate) < 30 OR LastUsedDate IS NULL. So I would recommend to create less that 30 quotes or, if you have more of them, increase the number in the query to ensure that all quotes will be displayed.
But I fully agree that it would be great to have some documentation for this.