Why they are asking you to cancel? Obviously to avoid any penalties from Expedia. Expedia surely does not like the hotels to unilateraly cancel, so the hotel tries to make it look that you have cancelled yourself.
Why did this happen? We could not know, only guess. This may be as simple as a human mistake, especially if the hotel is small. Maybe, as @jcaron has pointed out, the hotel wants to resell your room at a higher price. Maybe they had some fault in the room, e.g. a severe leak that severly damaged a few rooms...
I see basically three options of what you can do.
Firstly, you can accept the offer as is. Personally for me 15% discount on a future visit sounds too low, but maybe you can still rebook in another hotel at a similar price, and maybe you are anyway going to the same city soon, and really liked this hotel to book with them once again... In any case, triple-check that if you cancel you will get all the money back. The hotel will probably gladly waive any cancellation fees, but Expedia might not.
Secondly, you can try to negotiate a better offer. Maybe you can get 30% discount on a future stay. Maybe they can offer you free upgrade for this stay. Maybe you will be able to get them book you another hotel nearby... Once again, before you end up cancelling the booking, triple-check that you will get full refund.
And finally, and this is what I would do, you can immediately contact Expedia support. Most probably they have some process to handle such situations, and will either make a hotel reconsider their decision (maybe the hotel will find another customer willing to cancel), or find another accomodation for you. I had a similar situation with booking.com (see What is the typical booking.com compensation policy in case accomodation was cancelled by host?), and I must admit that they did not resolve the situation to my satisfaction, but I got at least something.
Also if you have any travel insurance, check their terms and probably contact them.
In fact, the hotel may even be violating Expedia terms simply by asking you to cancel (and maybe even you will be violating — I have not read Expedia ToC, but it may contain a clause that a customer should not cancel a booking on a request from a hotel), so continuing talks with the hotel may be shady… If they have contacted you via Expedia (not via Whatsapp or Viber etc) — this is good, because Expedia support will be able to see the communication. Do not talk to the hotel via any other channels, redirect all contact attempts back to Expedia — unless you are really going to agree to their offer.
Also I do not think that any agreement you reach with the hotel will be enforceable — e.g. if you agree for a 15% discount, and then try to use it on a month long stay, the hotel can easily back up from the agreement (you can ask at Law.SE for a better analysis, but would you sue them anyway?). So I do not recommend accepting the offer unless you have a clear plan for a future trip, and discuss this plan with them in advance. That is, do not get "15% for any future booking", but "15% for an upcoming trip from 3 to 10 March 2025 for one double standard room".