When we say Assign on a particular CRM Case then it changes the Owner of the case.
But when we say “Work on” on a “Queue Item” then it updates “Worked By” field in “Queue Item Details” rather than changing the owner of the case.
Many a times mistake is made in considering these functionalities as same and can lead to design flaws in Application.
When a case is assigned “Assign” message is triggered for a plugin but when we “Work On” from “Queue”, Update message is triggered on “Queue Item”.
Out of the box CRM 2011 doesn’t provide any functionality to keep these both in sync so custom code (plugin) will be required to keep both these values in sync.
If you want to move a case to user queue when it is assigned to user you can use out of the box feature of case entity (but it is not same as keeping work on and assigned to in sync as it is limited till a user queue only)