There is a lot of difference between searchhelp and check table.
Check table is a master table. Like T000 for client, t001w for company codes, TCURC for currency. When we write code like 'PARAMETER V_WERKS LIKE MARC-WERKS OBLIGATORY VALUE CHECK' the value we entered will be cross checked with the table T001W for existence.
But Search help is some thing which pops-up when we press F4. It shows a list of values of available for that field from a particular table. There is no checking scenario in search help. While developing a ztable for example assume that you have a currecy field. Then you need to establish a foreign key with a currency key field in TCURC etc. Hope this explanation has given you some clarity regarding difference between check table and search help.