Bee: Regarding binding forms to table and locking issues - it matters more that you recognize this fact: A table and a query are both representative of recordsets. Forms want RECORDSETS. They don't care from where.
Binding to a table is equivalent but not identical to SELECT * FROM table; You can still put filtration criteria on the implied SELECT statement by using the Form's filter option.
Binding to a query allows you to have more flexibility up front. Whether you used a query builder from the query grid or an SQL statement or a wizard or black magic, you can do more in the query. If the query is pre-defined, Access can analyze it to optimize it. Even if the query is dynamic, you have at least a few extra options. See also issues in using Queries run BY_OWNER as a way to implement special security actions/protections.
In EITHER case, locking depends on a setting on the form. You are allowed to set locking to none (not recommended for forms that update), edited record (recommended), or all records (not recommended for shared environments). But what gets locked depends on the nature of the recordset. If you select ALL RECORDS then if the underlying query is one-table, you lock one table. If two tables (JOIN), you lock two tables.
GHudson (et al.) - the word "never" is too strong here. But only just barely too strong. You bind a form to a table when you are doing special types of maintenance on that one table and no other table, and you only use the form in Exclusive Mode, and no "ordinary" users can see the form or open it, and you use the form-to-table binding because it otherwise represents some level of convenience. In no other case would I bind a form directly to a table.