According to the Pilot Controller Glossary:
WILCO− I have received your message, understand it, and will comply
ROGER− I have received all of your last transmission. It should not be
used to answer a question requiring a yes or a no answer.
If you are a general aviation pilot, ATC wants to be sure that you have understood the instruction that you have been given and will expeditiously comply with it. If you are given a heading for traffic, altitude, clearance to land, hold short instruction, or clearance into Class B airspace, you should always repeat it back. I would not mix and match Roger and Wilco in readbacks.
At my home airport when given a taxi instruction:
Tower: 90J Taxi to parking via Echo, Juliet, Mike. Remain this frequency.
I could reply Wilco, and my abbreviated callsign. e.g.
At an unfamiliar airport, unless the taxi instructions were very simple, I’d read them back.
When ATC can immediately see that I have complied with the instruction and it is fairly lengthy, I could use Wilco.
Tower: 90J Make a 360 to the right for spacing, watch for birds on final, follow the Cessna on left base.
Tower: 90J Extend your downwind. I’ll call your base.
On the other hand, if it involves a safety of flight issue, I’ll read back what I am going to do.
Tower: 90J Follow the Cessna entering left base.
90J: Looking for the Cessna 90J.
I don’t know that I have ever used Roger. It is usually simpler to just repeat the information or respond with what you are going to do.
ATC: 90J traffic 12 o'clock 7 miles north bound 3,500'
I could respond with Roger, but I want them to know that I ether have the traffic in sight or that I am looking for it. So I would respond with either "Traffic in sight" or "Looking".
ATC: 90J Santa Barbara altimeter 29.92
I suppose you could respond with Roger, but repeating the setting is the preferred response.
I have heard the tower and flight following use Roger—although it’s often “Roger that”.
I am in the practice area and then let ATC know that I am going to fly somewhere else.
When I’m starting my VFR descent to the airport.
Reporting birds near the airport.
If you listen to Live ATC, you will hear airline pilots use Wilco in busy airspace, but in my experience as a general aviation pilot, it is quite rare.