Even though user has a access to Pagelet, he does not see it on a HomePage. This indicates that WebServer Pagelet cache is corrupt. Only way to make it work correctly is to restart the webserver. But if this happens in the middle of a day, you can use this trick to force the webserver Homepage pagelet cache refresh.
Add a new page to Homepage tab as a required fix. (PeopleTools –> Portal –> Structure and Content –> Portal Objects –> HomePage –> Tabs – Home).
Go to the Tab Content Tab and add the new Pagelet as require fix and select the column, usually the last column. Save it and relogin with user id who is complaining that he is not able to see the pagelet. He should now see the missing pagelet. Remove the newly added pagelet, as it is no longer needed. You can use the following sql to determine what pagelet user has access to .
SELECT * FROM PSPRUHTABPGLT where oprid = '7420060' ORDER BY portal_col_num,portal_row_num;
For further reference, Go to MOS (My Oracle Support) and see the following resolution.
E-PORTAL: What Are The Tables Used By Portal Technology? [ID 651342.1]