In Data Warehouse Foreign Key on Fact tables Necessary? In DW, does ForeignKey have advantages other than data integrity? 

For ongoing updates to DW, we have to enable and disable FKs and that causes locks and sometimes ends up causing deadlocks against select queries as victim.

Can someone please give some good scenarios of fks usage and how to handle the updates/insert against Datawarehouse ?
Why are you updating keys?  The proper fix isn't to disable/enable referential integrity, but instead use surrogate keys in your data warehouse.  That way if a user ID or some other "key" that has meaning is adjusted, you're not breaking RI to do so.

A summary from the master, Ralph Kimball, himself:


  In a data warehouse, a surrogate key is a necessary generalization of the natural production key and is one of the basic elements of data warehouse design. Let’s be very clear: Every join between dimension tables and fact tables in a data warehouse environment should be based on surrogate keys, not natural keys. It is up to the data extract logic to systematically look up and replace every incoming natural key with a data warehouse surrogate key each time either a dimension record or a fact record is brought into the data warehouse environment.


Check out the linked article as Kimball goes into more detail on why this approach is necessary for data warehousing.