What is BMK Operator in SQLServer
It's not an operator in its own right. It is an output column from the table scan operator on the heap. It is the "bookmark" that contains the physical address of the row (this is the same bookmark as is referred to in the phrase "bookmark lookup").

This is passed along the pipeline into the update operator so it knows the row it should be updating.

In SQL Server 2016 you can see the actual values for this column by using the query_trace_column_values extended event



Plugging those into sys.fn_PhysLocFormatter shows the file:page:slot

SELECT sys.fn_PhysLocFormatter(0xB002000001), 
       sys.fn_PhysLocFormatter(0xB0020000010001)


Returns 

+------------------+------------------+
| (No column name) | (No column name) |
+------------------+------------------+
| (1:688:0)        | (1:688:1)        |
+------------------+------------------+