You must also pass in the identifier:
<% if current_page?(:controller => 'products', :action => 'show', :id => params[:id]) %>
UPDATE:
But, however, this implementation assumes that pages that display this partial have id as a parameter. If they do not, it is best to use a local variable for this.
render :partial => 'blah_blah', :locals => {:id_for_route_verification => params[:id] || 0}
<% if current_page?(:controller => 'products', :action => 'show', :id => id_for_route_verification) %>
, . content_for , current_page?