Three Ways to Implement Marketo Forms
Because Choice is Good
Marketo Generated Forms
There's two ways you can use the Marketo generated form pages; either link directly to the page or iFrame the form into a custom page. Of the two options, iFraming is definitely the way you should do this. It will give you the greatest control over the rest of your pages design and content. As well as maintaining a users familiarity with your domain, since the site address in the users browser URL bar will remain on your domain.
Custom Forms Using Marketo's Form Endpoint
This still requires creating a form in Marketo but instead you'll extract all the necessary form code from the generated page and place it into your custom page. Or write your own markup and just ensure all your form element names and values match up to Marketo's and give it the same form action. This allows control over the rest of pages markup, content and design. You also could build custom front end validation to use instead of Marketo's provided code. Analytics tracking now has better insight into form events and is easier to maintain.
Custom Forms Using the Marketo API
With this option you've assumed control over the whole submission, validation and security process. Keep in mind now that this responsibility falls on your plate there are many things you'll need to do that Marketo handled for you. Matching up your for input names to the columns in your Marketo lead table. Front end validation to provide the best user experience. Security; so Filtering and sanitizing user provided data. Generating the SOAP API submissions. Maintaining all of this code base in your control.
Obviously you now have a variety of possibilities not afforded by the other solutions, for instance; capturing data in other systems, stricter validation rules, integration with custom platforms(I.E. you CMS), etc...